. #22175

pull sidhujag wants to merge 10000 commits into bitcoin:master from syscoin:dev-4.x-bls changing 2874 files +695049 −258249
  1. sidhujag commented at 1:02 AM on June 7, 2021: none

    No description provided.

  2. Merge bitcoin/bitcoin#21799: guix: Use `gcc-8` across the board
    c90f6e51094a1ba4fb2aab35b78f23b6fda645d0 guix: Consistently use gcc-8 for $HOST (Carl Dong)
    
    Pull request description:
    
      Only non-base commit is the last commit: https://github.com/bitcoin/bitcoin/commit/b5abb07d0d8051f337df2e7981d42a60e0140ee3
    
      Right now, here's what we use in Gitian:
      - Linux: Focal's [`g++-8-<arch>-linux-gnu`](https://packages.ubuntu.com/focal/g++-8-aarch64-linux-gnu) (`8.4.0-3ubuntu1cross1`)
      - MinGW-w64: Focal's [`g++-mingw-w64`](https://packages.ubuntu.com/focal/g++-mingw-w64) (`9.3.0-7ubuntu1+22~exp1ubuntu4`)
    
      In Guix right now we use `gcc-9` across the board.
    
      I think it makes more sense to use `gcc-8` across the board, as it doesn't suffer from the `memcmp` bug, and is what debian buster (stable) does, meaning it will be well tested ([`g++-mingw-w64`](https://packages.debian.org/buster/g++-mingw-w64), [`g++-aarch64-linux-gnu`](https://packages.debian.org/buster/g++-aarch64-linux-gnu)).
    
      We can accomplish this somewhat easily using Guix as we have tighter control over the toolchain (see: https://github.com/bitcoin/bitcoin/commit/b5abb07d0d8051f337df2e7981d42a60e0140ee3).
    
      Let me know your thoughts!
    
    ACKs for top commit:
      MarcoFalke:
        Approach ACK c90f6e51094a1ba4fb2aab35b78f23b6fda645d0, haven't reviewed
      laanwj:
        Code review ACK c90f6e51094a1ba4fb2aab35b78f23b6fda645d0
      hebasto:
        ACK c90f6e51094a1ba4fb2aab35b78f23b6fda645d0, I have reviewed the code and it looks OK, I agree it can be merged.
    
    Tree-SHA512: 3e5b9297305232273323aa745ec417ed1be2418ead0e432db7742f5d5f45efe6e4a2ed44328731512cff4bfde80e5f2dc350a131b8b8fb9207a2ef66bce27ed2
    0b8ae457a2
  3. Merge #21664: contrib: use LIEF for macOS and Windows symbol & securi… bf4550dd0b
  4. Merge #21629: build: fix configuring when building depends with NO_BDB=1 9df20094e2
  5. Merge bitcoin/bitcoin#21427: depends: Fix id_string invocations
    fa872c9af397837bb17859b5f43adec71239682a depends: Fix id_string invocations (Carl Dong)
    
    Pull request description:
    
      Closes: #21242
    
      ```
      Reproduced from depends/Makefile comment:
    
      When invoking a shell, GNU Make special-cases exit code 127 (command not
      found) by not capturing the output but instead passing it through. This
      is not done for any other exit code.
    
      Therefore, we require a "|| true" to avoid this behaviour when in an
      environment where the build_* or host_* may not exist yet.
      ```
    
    ACKs for top commit:
      laanwj:
        Concept and light code review ACK fa872c9af397837bb17859b5f43adec71239682a
    
    Tree-SHA512: 9ce88381aec579d956572cf70c4f69dc5a3873f0d2af14a71cf24814192a89452b8280258bed8cca804e4bd2644db056d213ab733df46a10560a47079524d8ac
    005744c270
  6. Merge bitcoin/bitcoin#21787: test: fix off-by-ones in rpc_fundrawtransaction assertions
    f09e6b2585200040be2e8ee44fa79b86b1970d70 test: fix off-by-ones in rpc_fundrawtransaction (Jon Atack)
    
    Pull request description:
    
      The variables in these assertions should be the same within each line.
    
    ACKs for top commit:
      laanwj:
        ACK f09e6b2585200040be2e8ee44fa79b86b1970d70
      theStack:
        ACK f09e6b2585200040be2e8ee44fa79b86b1970d70
    
    Tree-SHA512: 7ac754eaadd8cb00a725afa55bccbb8de7547dedac9350d79a9a470918245617e075c56a91adc36fb653bbe8a0a325d59b00443155a7e1a81ebf22e4e4cf56d9
    77041637f4
  7. Merge bitcoin/bitcoin#21821: test: Add missing test for empty P2WSH redeem
    fa80a11c3bb995ee15d4b0b9ad64148f6332ad42 test: Add missing test for empty P2WSH redeem (MarcoFalke)
    
    Pull request description:
    
    ACKs for top commit:
      0xB10C:
        ACK fa80a11c3bb995ee15d4b0b9ad64148f6332ad42
    
    Tree-SHA512: 2d28fe2e80c0770d82e4164b235345a3a828e6b71445a82aa144b3efb3298e494a8bc456a329f175a3cb542fa1b669d869dc1fb1b711611feeb76ab312a661d5
    0c80912ca8
  8. Merge bitcoin/bitcoin#21753: doc: add -addrinfo to tor docs
    65f30e4c21e94b775853392b7e0de5c7fd3de488 doc: add -addrinfo troubleshooting section to tor.md (Jon Atack)
    
    Pull request description:
    
      Follow-up to #21595.
    
    ACKs for top commit:
      jarolrod:
        ACK 65f30e4c21e94b775853392b7e0de5c7fd3de488
      practicalswift:
        ACK 65f30e4c21e94b775853392b7e0de5c7fd3de488
      0xB10C:
        ACK 65f30e4c21e94b775853392b7e0de5c7fd3de488
      theStack:
        ACK 65f30e4c21e94b775853392b7e0de5c7fd3de488
    
    Tree-SHA512: d17fa007106b8f877d2632c99273c663a24f025febe52faec9b197c561df808fd6a92bb27992ccbf5c3cc0d82058a8c4b82a2f1b99325f0ddfdac5ef703ac7d7
    35f953ac31
  9. Merge #21727: refactor: Move more stuff to blockstorage 0590f58fb9
  10. Merge bitcoin/bitcoin#21709: doc: update reduce-memory.md and bitcoin.conf -maxconnections info
    300234ab6698277fb261a87be72f89ef94d3697a doc: update bitcoin.conf maxconnections info (Jon Atack)
    926827065ffa56b75e9261f63d49b924d4bced0f doc: update reduce-memory.md peer connections info (Jon Atack)
    
    Pull request description:
    
      This patch updates the documentation in `doc/reduce-memory.md` and `share/examples/bitcoin.conf` regarding the peer connections limits and `-maxconnections`
    
    ACKs for top commit:
      jarolrod:
        re-ACK 300234ab6698277fb261a87be72f89ef94d3697a
      laanwj:
        ACK 300234ab6698277fb261a87be72f89ef94d3697a
      prayank23:
        ACK https://github.com/bitcoin/bitcoin/pull/21709/commits/300234ab6698277fb261a87be72f89ef94d3697a
    
    Tree-SHA512: 90f53626124afb50706e6a3b644bc7bb800bb7cf41ae7062c20c17b3d9bdf4a8d73b4cf188faec9113d772596f7e4bc36a4a69481cacb92cc55d5956181d0c31
    2678fd934a
  11. Merge bitcoin/bitcoin#21856: doc: add OSS-Fuzz section to fuzzing.md doc
    47c3ea021e867206172cdb6546a76d23baa958bb doc: add OSS-Fuzz section to fuzzing.md doc (Adam Jonas)
    
    Pull request description:
    
      This adds documentation about [Bitcoin Core's participation](https://github.com/google/oss-fuzz/pull/5699/files) in Google's OSS-Fuzz program and adds the caveat that the project may not disclose vulnerabilities within the 90-day window described in the [program's disclosure guidelines](https://google.github.io/oss-fuzz/getting-started/bug-disclosure-guidelines/).
    
    ACKs for top commit:
      jonatack:
        ACK 47c3ea021e867206172cdb6546a76d23baa958bb
    
    Tree-SHA512: 87bf0146fb74d1e4b3b8839e6c8f3d53046008a6d5b926ffe5b95be3c396a5e47e47967533422f60b04c4446482f49d210ada410b742f69781a7afde623d704d
    d6fb4a17c2
  12. Merge bitcoin/bitcoin#21814: test: Fix feature_config_args.py intermittent issue
    fab1eb65b196d62466fdc2ed319ffa19d3560a0c test: Fix feature_config_args.py intermittent issue (MarcoFalke)
    
    Pull request description:
    
      Fix #21448
    
    ACKs for top commit:
      laanwj:
        Code review ACK fab1eb65b196d62466fdc2ed319ffa19d3560a0c
    
    Tree-SHA512: cad9f684f43aa801d0c1cb5f1684ffa624df1216be225cea46b1389ba2b67cbd6159ffb786fe144bf1ca865623dd9a10289d4293cfabb678bdb243d4ea00734d
    f502389a98
  13. Merge bitcoin/bitcoin#21710: doc: update helps for addnode rpc and -addnode/-maxconnections config options
    b4fcbcfb49461b96bc72fb64d6152de7c5ce00de doc: update -maxconnections config option help (Jon Atack)
    79685a8992ad302833b506cc6d03aab1cc127de0 doc: update -addnode config option help (Jon Atack)
    2896c6c4cc6d382d8369c037e274c08dd8e32c69 doc: update addnode rpc help (Jon Atack)
    
    Pull request description:
    
      Since #9319 proposed by Gregory Maxwell and released in v0.14, peers manually added through the `-addnode` config option or using the `addnode` RPC have their own separate limit of 8 connections that does not compete with other inbound or outbound connection usage and is not subject to the limitation imposed by the `-maxconnections` option.
    
      This PR updates the `-addnode` and `-maxconnections` config options and the `addnode` RPC help docs with this information.
    
      `-addnode` config option help
      ```
      $ bitcoind -h | grep -A5 addnode=
        -addnode=<ip>
             Add a node to connect to and attempt to keep the connection open (see
             the addnode RPC help for more info). This option can be specified
             multiple times to add multiple nodes; connections are limited to
             8 at a time and are counted separately from the -maxconnections
             limit.
    
      $ bitcoind -h | grep -A3 maxconnections=
        -maxconnections=<n>
             Maintain at most <n> connections to peers (default: 125). This limit
             does not apply to connections manually added via -addnode or the
             addnode RPC, which have a separate limit of 8.
      ```
    
      `addnode` rpc help
      ```
      $ bitcoin-cli help addnode
      addnode "node" "command"
    
      Attempts to add or remove a node from the addnode list.
      Or try a connection to a node once.
      Nodes added using addnode (or -connect) are protected from DoS disconnection and are not required to be
      full nodes/support SegWit as other outbound peers are (though such peers will not be synced from).
      Addnode connections are limited to 8 at a time and are counted separately from the -maxconnections limit.
      ```
    
    ACKs for top commit:
      prayank23:
        ACK https://github.com/bitcoin/bitcoin/commit/b4fcbcfb49461b96bc72fb64d6152de7c5ce00de
      jarolrod:
        ACK b4fcbcfb49461b96bc72fb64d6152de7c5ce00de
    
    Tree-SHA512: b6d69baa6cbf6d53f91bac5b39b549d49db6c95f92ea1bdd3588a6432794a25ac2c8b3c89e2c72bb9097e61f2717c8b5ecc404745d5992b88e523db03200898f
    a48c44fabd
  14. Merge #21740: test: add new python linter to check file names and per… …missions a7812d7be7
  15. Merge #21817: refactor: Replace &foo[0] with foo.data() f333c3c391
  16. Merge #21681: validation: fix ActivateSnapshot to use hardcoded nChainTx 093aba0704
  17. Merge bitcoin/bitcoin#21864: fix permissions on 00_setup_env_native_fuzz_with_msan.sh
    d48565d10968171edeeb75c1a0af8f4119bb99bc fix permissions on 00_setup_env_native_fuzz_with_msan (glozow)
    
    Pull request description:
    
      I think there was a silent merge conflict between #21852 and #21740?
    
      I have a [linter failure](https://cirrus-ci.com/task/5436849834426368):
    
      ```
      File "ci/test/00_setup_env_native_fuzz_with_msan.sh" contains a shebang line, but has the file permission 644 instead of the expected executable permission 755. Do "chmod 755 ci/test/00_setup_env_native_fuzz_with_msan.sh" (or remove the shebang line).
      ERROR: There were 1 failed tests in the lint-files.py lint test. Please resolve the above errors.
      ^---- failure generated from test/lint/lint-files.sh
      ```
    
    ACKs for top commit:
      MarcoFalke:
        ACK d48565d10968171edeeb75c1a0af8f4119bb99bc
    
    Tree-SHA512: 445bdd738faf007451f40bbcf360dd1fb4675e17a4c96546e6818c12e33dd336dadd95cf8d4b5f8df1d6ccfbc4bf5496864bb5528e416cea894857b6b732140c
    415bdb814f
  18. compile 79b2bb9c20
  19. Revert "cleanup"
    This reverts commit 5af9f968330795d5c87776b2a16a3361c8f84b29.
    ebf47e95ba
  20. update lint-files exception 61b99f376e
  21. update permissions 09410fe362
  22. remote lint-files for now 94dc9df232
  23. ci: Properly pass msan cflags a18335e9d5
  24. fix test d1c50df74f
  25. revert native multiprocess change bd811d69ad
  26. Update 00_setup_env_native_multiprocess.sh 8d8592a2e3
  27. fix CL test 7a1ae18398
  28. refactor connect nodes with reconnect_isolated_node 35907834b4
  29. Update feature_llmqchainlocks.py bba04c1c2a
  30. Merge bitcoin/bitcoin#21798: fuzz: Create a block template in tx_pool targets
    fa03d0acd6bd8bb6d3d5227512f042ff537ad993 fuzz: Create a block template in tx_pool targets (MarcoFalke)
    fa61ce5cf5c1d73d352173806571bcd7799ed2ee fuzz: Limit mocktime to MTP in tx_pool targets (MarcoFalke)
    fab646b8ea293bb2b03707c6ef6790982625e492 fuzz: Use correct variant of ConsumeRandomLengthString instead of hardcoding a maximum size (MarcoFalke)
    fae2c8bc54e6c0fe69a82bd1b232c52edd1acd34 fuzz: Allow to pass min/max to ConsumeTime (MarcoFalke)
    
    Pull request description:
    
      Relatively simple check to ensure a block can always be created from the mempool
    
    ACKs for top commit:
      practicalswift:
        Tested ACK fa03d0acd6bd8bb6d3d5227512f042ff537ad993
    
    Tree-SHA512: e613376ccc88591cbe594db14ea21ebc9b2b191f6325b3aa4ee0cd379695352ad3b480e286134ef6ee30f043d486cf9792a1bc7e44445c41045ac8c3b931c7ff
    3101af3087
  31. Merge bitcoin/bitcoin#21867: test: use MiniWallet for p2p_blocksonly.py
    9f767e84381d678ed24e3f7f981976f9da34971e test: use MiniWallet for p2p_blocksonly.py (Sebastian Falbesoner)
    
    Pull request description:
    
      This PR enables one more of the non-wallet functional tests (p2p_blocksonly.py) to be run even with the Bitcoin Core wallet disabled by using the new MiniWallet instead, as proposed in #20078.
    
      Note that MiniWallet creates segwit transactions by default, i.e. txid and wtxid are not identical and we have to return both from `check_p2p_tx_violation(...)`: wtxid is needed to match an expected `"received getdata for: wtx ..."` debug output, whereas the txid is needed to wait for a certain tx via `wait_for_tx(...)`.
    
    ACKs for top commit:
      jonatack:
        ACK 9f767e84381d678ed24e3f7f981976f9da34971e tested with `--disable-wallet`
    
    Tree-SHA512: f08001f02c3c310ccdf713af0ba17304368a36414f412749908bbe8c03ad1e902190b8768b79f3b4909855762f285e7ab1b627cc4f45c90b42bb097a43cb4318
    87d695985a
  32. remove feerate overflow code work around
    since we add exception in ubsan
    f19b81f831
  33. fix test ef5670b597
  34. Revert "fix test"
    This reverts commit ef5670b597bdf1643076662f9d7f63a653e3f73a.
    8b837dc778
  35. Revert "remove feerate overflow code work around"
    This reverts commit f19b81f8312d40c86721dec7a6dc9d6b4fb8c735.
    005dd34d22
  36. fix v3 syscoincore data dir issue
    in previous versions default data dir was syscoincore and causes confusion in v4 when we changed default data dirs, we also changed the registry keys in previous versions to avoid confusion with existing registry keys and in latest version we went back to the original key. We can compare to "syscoincore" and simply not use it and fallback to "syscoin"  with the settings.
    50f564c76a
  37. Merge bitcoin/bitcoin#21845: net processing: Don't require locking cs_main before calling RelayTransactions()
    39e19713cd6594f93db835e8ef7eef5824a9ba02 [net processing] Add internal _RelayTransactions() (John Newbery)
    
    Pull request description:
    
      As part of the general effort to reduce cs_main usage in net_processing, this removes the need to be holding `cs_main` when calling `RelayTransactions()` from outside net_processing. Internally, we lock `cs_main` and call an internal `_RelayTransactions()` function that _does_ require `cs_main`.
    
    ACKs for top commit:
      MarcoFalke:
        re-unsigned-code-review ACK 39e19713cd6594f93db835e8ef7eef5824a9ba02
      promag:
        Code review ACK 39e19713cd6594f93db835e8ef7eef5824a9ba02, just included sync.h since last review.
      ajtowns:
        ACK 39e19713cd6594f93db835e8ef7eef5824a9ba02
    
    Tree-SHA512: dc08441233adfb8eaac501cf497cb4bad029eb723bd3fa8a3d8b7e49cc984c98859b95780ad15f5701d62ac745a8223beb0df405e3d49d95a8c86c8be17c9543
    47b4103a52
  38. Merge bitcoin/bitcoin#21802: refactor: Avoid UB in util/asmap (advance a dereferenceable iterator outside its valid range)
    fa098713201a6999ec4c12d0a8bde0adcf47b095 refactor: Avoid sign-compare compiler warning in util/asmap (MarcoFalke)
    
    Pull request description:
    
      Can be reproduced on current master with `D_GLIBCXX_DEBUG`:
    
      ```
      /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/safe_iterator.h:883:
      In function:
          __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1,
          std::random_access_iterator_tag>::_Self __gnu_debug::operator+(const
          __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1,
          std::random_access_iterator_tag>::_Self &,
          __gnu_debug::_Safe_iterator<type-parameter-0-0, type-parameter-0-1,
          std::random_access_iterator_tag>::difference_type)
    
      Error: attempt to advance a dereferenceable iterator 369 steps, which falls
      outside its valid range.
    
      Objects involved in the operation:
          iterator @ 0x0x7ffd3d613138 {
            type = std::__cxx1998::_Bit_const_iterator (constant iterator);
            state = dereferenceable;
            references sequence with type 'std::__debug::vector<bool, std::allocator<bool> >' @ 0x0x7ffd3d663590
          }
      ==65050== ERROR: libFuzzer: deadly signal
          #0 0x559ab9787690 in __sanitizer_print_stack_trace (/bitcoin/src/test/fuzz/fuzz+0x5a1690)
          #1 0x559ab9733998 in fuzzer::PrintStackTrace() (/bitcoin/src/test/fuzz/fuzz+0x54d998)
          #2 0x559ab9718ae3 in fuzzer::Fuzzer::CrashCallback() (/bitcoin/src/test/fuzz/fuzz+0x532ae3)
          #3 0x7f70a0e723bf  (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf)
          #4 0x7f70a0b3418a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a)
          #5 0x7f70a0b13858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858)
          #6 0x7f70a0f21148  (/lib/x86_64-linux-gnu/libstdc++.so.6+0xa1148)
          #7 0x559ab9f60a96 in __gnu_debug::operator+(__gnu_debug::_Safe_iterator<std::__cxx1998::_Bit_const_iterator, std::__debug::vector<bool, std::allocator<bool> >, std::random_access_iterator_tag> const&, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/safe_iterator.h:881:2
          #8 0x559ab9f61062 in SanityCheckASMap(std::__debug::vector<bool, std::allocator<bool> > const&, int) util/asmap.cpp:159:21
          #9 0x559ab9e4fdfa in SanityCheckASMap(std::__debug::vector<bool, std::allocator<bool> > const&) netaddress.cpp:1242:12
          #10 0x559ab9793fcb in addrman_fuzz_target(Span<unsigned char const>) test/fuzz/addrman.cpp:43:14
          #11 0x559ab978a03c in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2
          #12 0x559aba2692c7 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14
          #13 0x559aba269132 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:63:5
          #14 0x559ab971a1a1 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/bitcoin/src/test/fuzz/fuzz+0x5341a1)
          #15 0x559ab97198e5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/bitcoin/src/test/fuzz/fuzz+0x5338e5)
          #16 0x559ab971bb87 in fuzzer::Fuzzer::MutateAndTestOne() (/bitcoin/src/test/fuzz/fuzz+0x535b87)
          #17 0x559ab971c885 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/bitcoin/src/test/fuzz/fuzz+0x536885)
          #18 0x559ab970b23e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/bitcoin/src/test/fuzz/fuzz+0x52523e)
          #19 0x559ab9734082 in main (/bitcoin/src/test/fuzz/fuzz+0x54e082)
          #20 0x7f70a0b150b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
          #21 0x559ab96dffdd in _start (/bitcoin/src/test/fuzz/fuzz+0x4f9fdd)
    
    ACKs for top commit:
      sipa:
        utACK fa098713201a6999ec4c12d0a8bde0adcf47b095
      vasild:
        ACK fa098713201a6999ec4c12d0a8bde0adcf47b095
    
    Tree-SHA512: 802fda33bda40fe2521f1e3be075ceddc5fd9ba185bd494286e50019931dfd688da7a6513601138b1dc7bb8e80ae47c8572902406eb59f68990619ddb2656748
    03a02aa865
  39. Merge bitcoin/bitcoin#21874: fuzz: Add WRITE_ALL_FUZZ_TARGETS_AND_ABORT
    fa5cb6b268554fe0f272833794a98106872ac6a5 fuzz: Add WRITE_ALL_FUZZ_TARGETS_AND_ABORT (MarcoFalke)
    
    Pull request description:
    
      This is needed when stdout is polluted by the fuzz engine. stderr can't be used instead because it is polluted by aborting the program.
    
    Top commit has no ACKs.
    
    Tree-SHA512: bf0a2a6bcd964ff1f0f3ef6e7e297b4c780430c4d6312332ed99ace0e1c58243c1483fd387e39405837d39b36072dfeb9ae03d2a7aa728ad6955159754fd5766
    3aec64c687
  40. add mnlist copiyable fields db8e4724a4
  41. Bumped version to 4.2.1
    Bumped version to 4.2.1
    bff482dcb2
  42. update to 4.2.1 661cec3d35
  43. Merge branch 'dev-4.x' of https://github.com/syscoin/syscoin into dev-4.x 3846e29283
  44. Merge #21884: fuzz: Remove unused --enable-danger-fuzz-link-all option ae49676b7a
  45. Merge bitcoin/bitcoin#21869: depends: Add missing -D_LIBCPP_DEBUG=1 to debug flags
    fa9249aaccc3ef7a0a91a822e1cb666c4c9716ec depends: Add missing -D_LIBCPP_DEBUG=1 to debug flags (MarcoFalke)
    
    Pull request description:
    
      Commands that can be used for testing:
    
      ```
      $ cat 1.cpp
      #include <vector>
    
      int main() {
        std::vector<int> foo;
        foo.begin() + 7;
      }
      ```
    
      ```
      clang++ -stdlib=libc++ -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_LIBCPP_DEBUG=1 -Wall 1.cpp -o exe && ./exe
      g++                    -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_LIBCPP_DEBUG=1 -Wall 1.cpp -o exe && ./exe
    
    ACKs for top commit:
      practicalswift:
        cr ACK fa9249aaccc3ef7a0a91a822e1cb666c4c9716ec: patch looks correct
      fanquake:
        ACK fa9249aaccc3ef7a0a91a822e1cb666c4c9716ec - was going to suggest adding this to the macOS CPP flags as well, however it seems doing that is less straight forward. Could be looked at by someone in a followup.
    
    Tree-SHA512: 2ffbaaf0ccb36bcc9fa1a15426566406c6115c8878ff211a4794d982c5d198672d444a20f6c7ae9f341193f6d8118c7cc50896daf98af9553834379e47ddb39e
    117dfa6006
  46. Merge #21872: net: Sanitize message type for logging 898f4a1b44
  47. Merge bitcoin/bitcoin#21890: fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit
    fa1aa6c571f406a2c40282664487aca4aff9dc9d fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit (MarcoFalke)
    
    Pull request description:
    
      2038 is more than 10 years in the future, so no need for us to waste time fuzzing a 3rd party lib that will be EOL by then.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34092
    
    ACKs for top commit:
      theStack:
        Concept and code review ACK fa1aa6c571f406a2c40282664487aca4aff9dc9d
    
    Tree-SHA512: fdd2fbc7b5c7ce33ad23b2e5431bb97eaf6ae8c2d2a55990a3ab73be79282c584b704dcd1471ba288de75283732970c70c9a03ddad059b97b66ba8b3de39effe
    007b8a52ec
  48. Merge bitcoin/bitcoin#21581: streams: Accept URef obj for VectorReader unserialize
    fa2204f6adef493079d1ca5148b0fdc2b55816e6 streams: Accept URef obj for VectorReader unserialize (MarcoFalke)
    
    Pull request description:
    
      Missed in commit 172f5fa738d419efda99542e2ad2a0f4db5be580. An URef may collapse into an LRef or RRef depending on context. There is no reason to forbid RRef in `VectorReader::operator>>`, so add it for consistency.
    
    ACKs for top commit:
      ryanofsky:
        Code review ACK fa2204f6adef493079d1ca5148b0fdc2b55816e6, just expanded test since last review
    
    Tree-SHA512: 09ff4e8a918e15b08cebd8c125d37e78bfb3a635c38546fc8454a97a882b2c81c55ef552243617e78744799d31127e6fbf78c4e319c030480b370aab6f38b645
    80f770388b
  49. Merge bitcoin/bitcoin#21897: rpc: adjust incorrect RPCHelpMan types
    7031721f2cc3eef30c46ff50c52328e9ba8090e0 rpc/listaddressgroupings: redefine inner-most array as ARR_FIXED (Karl-Johan Alm)
    8500f7bf54d3e27fd2fa7fda15ad833f5688c331 rpc/createrawtransaction: redefine addresses as OBJ_USER_KEYS (Karl-Johan Alm)
    d9e2183c50f50465b9f173171fee240949bf8bd2 rpc: include OBJ_USER_KEY in RPCArg constructor checks (Karl-Johan Alm)
    
    Pull request description:
    
      This PR adjusts the two issues I encountered while developing a tool that converts RPCHelpMan objects into bindings for other language(s).
    
      The first is in createrawtransaction, where the address part, e.g. bc1qabc in
    
      > createrawtransaction '[]' '[{"bc1qabc": 1.0}]'
    
      is declared as a `Type::OBJ`, when in reality it should be a `Type::OBJ_USER_KEYS`, defined as such:
    
      https://github.com/bitcoin/bitcoin/blob/5925f1e652768a9502831b9ccf78d16cf3c37d29/src/rpc/util.h#L126
    
      (coincidentally, this is the first and only (afaict) usage of this `RPCArg::Type`).
    
      The second is in the `listaddressgroupings` RPC, which returns an array of arrays of arrays, where the innermost one is a tuple-thingie with an optional 3rd item; this is an `ARR_FIXED`, not an `ARR`.
    
    ACKs for top commit:
      MarcoFalke:
        ACK 7031721f2cc3eef30c46ff50c52328e9ba8090e0 🐀
    
    Tree-SHA512: 769377416c6226d1738a956fb685498e009f9e7eb2d45bc679b81c5364b9520fdbcb49392c937ab45598aa0d33589e8e6a59ccc101cf8d8e7dfdafd58d4eefd0
    4cc8f84d32
  50. Merge #21786: wallet: ensure sat/vB feerates are in range (mantissa o… 282259912e
  51. Merge #21708: build: Drop pointless sed commands bf6e543168
  52. Merge bitcoin/bitcoin#21749: test: Bump shellcheck version
    08f3dbb1b0cd5ca01d87e488a2fa905adf7df057 test: Bump shellcheck version (Hennadii Stepanov)
    
    Pull request description:
    
      The changelog for v0.7.2 is available [here](https://github.com/koalaman/shellcheck/blob/v0.7.2/CHANGELOG.md).
    
      Only [SC2268](https://github.com/koalaman/shellcheck/wiki/SC2268) requires to update our code.
    
    ACKs for top commit:
      jarolrod:
        ACK  08f3dbb1b0cd5ca01d87e488a2fa905adf7df057
    
    Tree-SHA512: 4585cd1f4d9def2fbaafe5a2a57761288d432781eb8c6c6d37064727d7ca8fc3f35c552e6a2ffdf0820d753d4bde2c8e43e5f3f57d242f5f57591a9b1b03558d
    1aabbd39a4
  53. Merge #21836: scripted-diff: Replace three dots with ellipsis in the … ea390afbd7
  54. Merge bitcoin/bitcoin#21745: refactor: Add missing includes in pubkey.cpp/pubkey.h
    71c824ed6cf70b39ca09e8b3962f452f69523af0 cleaned up and added missing "include" statements for pubkey.cpp and pubkey.h (William Bright)
    
    Pull request description:
    
      #### Problem:
      Many symbols in the files were undefined and causing issues when I was working on building independent sections of the codebase. The hidden imports from the "secp256k1" library was a particular pain point.
    
      The other standard and missing includes are following best practices and will help with refactoring, build process and others.
    
      #### Changes:
      Clean up and declared imports/include for `pubkey.cpp` and `pubkey.h`
    
    ACKs for top commit:
      jnewbery:
        utACK 71c824ed6c
      laanwj:
        Code review ACK 71c824ed6cf70b39ca09e8b3962f452f69523af0
    
    Tree-SHA512: bce605cfde24d8e3be82a596cabab7a8577fec0aef7c5e6f7a56603357046d8e8dea11ac8e3dbe79600550291be7784e35c7a55ebf40b46525b8949e4bedae96
    b16a789079
  55. Merge bitcoin/bitcoin#21891: fuzz: Remove strprintf test cases that are known to fail
    facfc0f65dd0a7d54c0f6d56bff793e57b12ee12 fuzz: Remove strprintf test cases that are known to fail (MarcoFalke)
    
    Pull request description:
    
      They are still waiting to be fixed (see https://github.com/c42f/tinyformat/issues/70 ), so no need for us to carry them around in our source code. They can be added back once upstream is fixed.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34082
    
    ACKs for top commit:
      laanwj:
        Code review ACK facfc0f65dd0a7d54c0f6d56bff793e57b12ee12
    
    Tree-SHA512: d9d3d35555b6d58740a041ae45797ca85149f60990e2ed632c5dadf363e1d2362d2447681d7ceaa1fbffcd6e7bc8da5bc15d3923b68829a86c25b364a599afc8
    b3c8eabaf7
  56. Merge bitcoin-core/gui#296: Do not use QObject::tr plural syntax for numbers with a unit symbol
    3adde72bc99215062c8dabd38f8c34ad093452b5 qt: Do not use QObject::tr plural syntax for numbers with a unit symbol (Hennadii Stepanov)
    
    Pull request description:
    
      Working on translation, I found this is useless and unnecessarily burdensome for translators. I guess, this statement is correct internationally wide :)
    
    ACKs for top commit:
      jarolrod:
        ACK 3adde72bc99215062c8dabd38f8c34ad093452b5
      promag:
        Code review ACK 3adde72bc99215062c8dabd38f8c34ad093452b5. Agree with OP, looks reasonable to me.
    
    Tree-SHA512: bde65c122ca0feb7771d932cce63fd1aef1e7a9dda0188d19c577d57b279172204ac1bfcb6106a78b2c4d55d628e6dc0967051e064ec40d3c5aeafd4a48f0589
    156108152d
  57. Merge #21359: rpc: include_unsafe option for fundrawtransaction 5f93fe80ef
  58. use m_include_unsafe_inputs on coincontrol for asset spends bafb60b3be
  59. Merge bitcoin/bitcoin#21900: test: use MiniWallet for feature_csv_activation.py
    bd7f27d16dacf6f7de3b4f6bd052def41d9601be refactor: feature_csv_activation.py: move tx helper functions to methods (Sebastian Falbesoner)
    2eca46b0aa0ecf4738500b53523d7013985b387d test: use MiniWallet for feature_csv_activation.py (Sebastian Falbesoner)
    
    Pull request description:
    
      This PR enables one more of the non-wallet functional tests (feature_csv_activation.py) to be run even with the Bitcoin Core wallet disabled by using the new MiniWallet instead, as proposed in #20078.
    
      Short reviewers guideline:
      - Since we exclusively work with anyone-can-spend outputs here (raw scriptPubKey = OP_TRUE), signing is not needed anymore. The function `sign_transaction` and its calls are removed, after changing a tx (e.g. its scriptSig or nVersion) a simple `.rehash()` call is sufficient. Also, generating an address `self.nodeaddress` (and with that, passing it to the the various test tx creation/sending helper methods) is not needed anymore and removed.
      - The test repeatedly uses the same input for creating different txs (e.g. with different txversions 1 and 2). To let `MiniWallet` create a tx with a specific input, we have to call `.get_utxo()` before which also marks the UTXO as spent. The method is changed to also support keeping the UTXO in its internal list (`mark_as_spent=False`). With the behaviour on master, the second call to `.get_utxo()` with the same input would fail.
      - To keep the diff in the first commit short, the `miniwallet` is set as a global variable, to avoid passing it on every tx creation/spending helper. The global is eliminated in the second (refactoring) commit, where all the helpers are moved to the test class as methods. By that, we can use `self.nodes[0]` directly in the helpers and don't have to pass it again and again. I think there could still be a lot of improvements/refactoring done in the test, but that should hopefully serve as a good basis.
    
    ACKs for top commit:
      laanwj:
        Code review ACK bd7f27d16dacf6f7de3b4f6bd052def41d9601be
      MarcoFalke:
        review ACK bd7f27d16dacf6f7de3b4f6bd052def41d9601be 🐕
    
    Tree-SHA512: 24fb6a0f7702bae40d5271d197119827067d4b597e954d182e4c1aa5d0fa870368eb3ffed469b26713fa8ff8eb3ecc06abc80b2449cd68156d5559e7ae8a2b11
    cbcd58b7ad
  60. sync upstream clsig ser/der 4ad717081d
  61. Merge bitcoin-core/gui#257: refactor: Use template function qOverload… 5ab484ceb8
  62. Merge bitcoin-core/gui#194: Save/restore RPCConsole geometry only for window
    01d9586ae85e49efaa00f11c1f26c24c9b82b278 qt: Save/restore RPCConsole geometry only for window (Hennadii Stepanov)
    
    Pull request description:
    
      After using the GUI with `-disablewallet` the "Node window" inherits the geometry of the main window, that could be unexpected for users.
    
      This PR provides independent geometry settings for `RPCConsole` in both modes:
      - window sizes and `QSplitter` sizes when `-disablewallet=0`
      - only `QSplitter` sizes when `-disablewallet=1`
    
    ACKs for top commit:
      Talkless:
        tACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278, tested on Debian Sid with Qt 5.15.2. I've managed to reproduce issue using https://github.com/bitcoin-core/gui/pull/194#issuecomment-782822663 instructions, and I see that this PR does detach main window and information window sizes. Built with `--enable-wallet` and `--disable-wallet`.
      jarolrod:
        ACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278, tested on macOS 11.2 Qt 5.15.2
      promag:
        Code review ACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278.
    
    Tree-SHA512: 9934cf04d4d5070dfc4671ea950e225cda9988858227e5481dad1baafa14af477bdbf4f91307ca687fde0cad6e4e605a3a99377e70d67eb115a19955ce2516f5
    79ec91628e
  63. Merge bitcoin-core/gui#280: Remove user input from URI error message
    3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be Remove user input from URI error message (unknown)
    
    Pull request description:
    
      Removes the user input from error message to avoid it being used in attacks.
    
      Its not really a vulnerability in Bitcoin Core because involves social engineering, dependency on user environment etc. But this PR improves security and by avoiding abuse of URI error in future.
    
      Example of an attack:
    
      1. User opens a link in firefox:
    
      ```
      bitcoin:tb1qag2e6yhl52hr53vdxzaxvnjtueupvuftan4yfu%0A%0AWARNING%3A%20DO%20NOT%20CLOSE%20THIS%20WINDOW%20OR%20TURN%20OFF%20YOUR%20PC!%20IF%20YOU%20ABORT%20THIS%20PROCESS%2C%20YOU%20COULD%20DESTROY%20ALL%20OF%20YOU%20DATA!%20PLEASE%20ENSURE%20THAT%20YOUR%20POWER%20CABLE%20IS%20PLUGGED%20IN!%0A%0AYou%20became%20victim%20of%20the%20XYZ%20RANSOMWARE!%0A%0AThe%20hard%20disks%20of%20your%20computer%20have%20been%20encrypted%20with%20a%20military%20grade%20encryption%20algorithm.%20There%20is%20no%20way%20to%20restore%20your%20data%20without%20a%20special%20key.%20You%20can%20purchase%20this%20key%20on%20the%20darknet%20page%20shown%20in%20step%202.%0ATo%20purchase%20your%20key%20and%20restore%20your%20data%2C%20please%20follow%20these%20three%20easy%20steps%3A%0A%0A1.%20Download%20the%20Tor%20browser%20at%20%E2%80%9Chttps%3A%2F%2Fwww.torproject.org%2F%E2%80%9C.%0A2.%20Visit%20one%20of%20the%20following%20pages%20with%20the%20Tor%20Browser%3A%0Ahttp%3A%2F%2Frandomchars.onion%2Fabc123%0A3.%20Send%20BTC%20by%20following%20the%20instructions%20on%20the%20page
      ```
    
      2. User selects Bitcoin Core to open the link:
    
      ![image](https://user-images.githubusercontent.com/13405205/114619801-8ee9a080-9cc8-11eb-9fad-23a2b831e8df.png)
    
      3. User is asked to send BTC with some message convincing enough which can be different depending on the victim:
    
      ![image](https://user-images.githubusercontent.com/13405205/114620061-d3753c00-9cc8-11eb-8314-e3362ebb90ac.png)
    
      **After this PR** (_No user input mentioned in the error_):
    
      ![image](https://user-images.githubusercontent.com/13405205/114624342-2b627180-9cce-11eb-93a8-0b2438d71571.png)
    
    ACKs for top commit:
      hebasto:
        ACK 3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be, tested on Linux Mint 20.1 (Qt 5.12.8).
      jarolrod:
        tACK 3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be
    
    Tree-SHA512: aac2fdfcaa7a9cd6582750c1960682554795640f5aacb78bdae121724e1151da3cbb62b8f8b1e0bc37347afe78b3e9a446277cab8e009d2a1050c0e971f001b3
    95f52b2b67
  64. Merge bitcoin-core/gui#293: Enable wordWrap for Services
    a0f797867433b0d3e8d7851ddf05743fe70d320a qt: enable wordWrap for peers-tab detail services (randymcmillan)
    
    Pull request description:
    
      Enable wordWrap for peers-tab detailView Services
    
    ACKs for top commit:
      Talkless:
        tACK a0f797867433b0d3e8d7851ddf05743fe70d320a on same environment as previously.
      hebasto:
        ACK a0f797867433b0d3e8d7851ddf05743fe70d320a, tested on Linux Mint 20.1 (Qt 5.12.8):
      kristapsk:
        re-ACK a0f797867433b0d3e8d7851ddf05743fe70d320a. Tested under Gentoo Linux with Xfce4 (Qt 5.15.2).
    
    Tree-SHA512: 872e511d2ecfa72fea0fd3284a958b45ee8aee138469ce7f9cd853cd9098b9583917909934b0a5c96f9b81ea1567bcea6a037558829bb79f2a3f413a83df06e6
    3bf004dc81
  65. Merge #21902: refactor: Remove useless extern keyword 071c0c6edb
  66. Update configure.ac 57d6854be5
  67. Merge bitcoin/bitcoin#21895: refactor: Add TSA annotations to the WorkQueue class members
    34b04eec4448bd37a8dbf560e4d99c7e7ca7e9c0 refactor: Add TSA annotations to the WorkQueue class members (Hennadii Stepanov)
    
    Pull request description:
    
      Noted while reviewing #19033, and hoping this will not conflict with it :)
    
    ACKs for top commit:
      promag:
        Code review ACK 34b04eec4448bd37a8dbf560e4d99c7e7ca7e9c0.
    
    Tree-SHA512: 4c15729acd95223263c19bc0dd64b9e7960872b48edee6eee97a5d0c2b99b8838185ac3a2ccd5bee992cb3a12498633427fe9919be5a12da9949fcf69a6275a0
    22f5f857e1
  68. Merge bitcoin-core/gui#271: Don't clear console prompt when font resi… d15780f68e
  69. Merge #21752: doc: Clarify that feerates are per virtual size cabc7ce1e9
  70. Merge bitcoin/bitcoin#21644: p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind()
    36fb036d25e2a3016b36873456e5a9e6251ffef8 p2p: allow NetPermissions::ClearFlag() only with PF_ISIMPLICIT (Jon Atack)
    4e0d5788ba5771c81bc0ff2e6523cf9accddae46 test: add net permissions noban/download unit test coverage (Jon Atack)
    dde69f20a01acca64ac21cb13993c6e4f8709f23 p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() (Jon Atack)
    
    Pull request description:
    
      This is a bugfix follow-up to #16248 and #19191 that was noticed in #21506. Both v0.21 and master are affected.
    
      Since #19191, noban is a multi-flag that implies download, so the conditional in `CConnman::Bind()` using a bitwise AND on noban will return the same result for both the noban status and the download status. This means that download peers are incorrectly not being added to local addresses because they are mistakenly seen as noban peers.
    
      The second commit adds unit test coverage to illustrate and test the noban/download relationship and the `NetPermissions` operations involving them.
    
      The final commit adds documentation and disallows calling `NetPermissions::ClearFlag()` with any second param other than `NetPermissionFlags` "implicit" -- per current usage in the codebase -- because `ClearFlag()` should not be called with any second param that is a subflag of a multiflag, e.g. "relay" or "download," as that would leave the result in an invalid state corresponding to none of the existing NetPermissionFlags. Thanks to Vasil Dimov for noticing this.
    
    ACKs for top commit:
      theStack:
        re-ACK 36fb036d25e2a3016b36873456e5a9e6251ffef8 ☕
      vasild:
        ACK 36fb036d25e2a3016b36873456e5a9e6251ffef8
      hebasto:
        ACK 36fb036d25e2a3016b36873456e5a9e6251ffef8, I have reviewed the code and it looks OK, I agree it can be merged.
      kallewoof:
        Code review ACK 36fb036d25e2a3016b36873456e5a9e6251ffef8
    
    Tree-SHA512: 5fbc7ddbf31d06b35bf238f4d77ef311e6b6ef2e1bb9893f32f889c1a0f65774a3710dcb21d94317fe6166df9334a9f2d42630809e7fe8cbd797dd6f6fc49491
    beef02c60d
  71. send proper inv for partial clsig
    partial clsig was improperly sending the wrong inv (not updated clsig)
    d3983b3075
  72. Merge bitcoin/bitcoin#21909: fuzz: Limit max insertions in timedata fuzz test
    fa95555a491dc01952703f476836e607ac34eab4 fuzz: Limit max insertions in timedata fuzz test (MarcoFalke)
    
    Pull request description:
    
      It is debatable whether a size of the median filter other than `200` (the only size used in production) should be fuzzed. For now add a minimal patch to cap the max insertions. Otherwise the complexity is N^2 log(N), where N is the size of the fuzz input.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34167
    
    ACKs for top commit:
      practicalswift:
        cr ACK fa95555a491dc01952703f476836e607ac34eab4: patch looks correct
    
    Tree-SHA512: be7737e9f4c906053e355641de84dde31fed37ed6be4c5e92e602ca7675dffdaf06b7063b9235ef541b05d3d5fd689c99479317473bb15cb5271b8baabffd0f2
    d6be2b7865
  73. Merge bitcoin/bitcoin#21892: fuzz: Avoid excessively large min fee rate in tx_pool
    99993f066405863c66ccaec0a8427129f4515768 fuzz: Avoid excessively large min fee rate in tx_pool (MarcoFalke)
    
    Pull request description:
    
      Any fee rate above 1 BTC / kvB is clearly nonsense, so no need to fuzz this.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34078
    
    ACKs for top commit:
      practicalswift:
        cr ACK 99993f066405863c66ccaec0a8427129f4515768: patch looks correct despite no `fa` prefix in commit hash
    
    Tree-SHA512: bd3651d354b13d889ad1708d2b385ad0479de036de74a237346eefad5dbfb1df76ec02b55ec00487ec598657ef6102f992302b14c4e47f913a9962f81f4157e6
    00c3e956d6
  74. fix p2sh/p2wsh asset update flow
    should pass back a raw hex with error information if not completely signed, and skipping over inputs should account for both spendable AND solvable not spendable OR solvable
    7f0e3708d4
  75. fix legacy SyscoinCore regkey issue re: strDataDir / strSyscoinDataDir 4bdd58b34c
  76. Merge bitcoin/bitcoin#21922: fuzz: Avoid timeout in EncodeBase58
    faa0d94a7d9cdd10e81ee231a7b06d4b14b37e13 fuzz: Avoid timeout in EncodeBase58 (MarcoFalke)
    
    Pull request description:
    
      The complexity is O(N^2), so limit the size.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34126
    
      Oss-Fuzz testcase for `rpc` fuzzer: https://github.com/bitcoin/bitcoin/files/6461382/clusterfuzz-testcase-minimized-rpc-4831734974775296.log
    
    ACKs for top commit:
      practicalswift:
        cr ACK faa0d94a7d9cdd10e81ee231a7b06d4b14b37e13: patch looks correct
      sipa:
        utACK faa0d94a7d9cdd10e81ee231a7b06d4b14b37e13
    
    Tree-SHA512: 57ad9de8d811b828982d09a586782fc8a62fa3685590301d58120e2249caa30a9dccd3abe0b47e00ea8482de705fe0edbed298ab8761ea0d29496b50ed2db5d7
    b90c01102f
  77. llmq: Drop `quorumHeight` in `CDKGSessionHandler` (#4128)
    * llmq: Drop unused quorumHeight
    
    * llmq: Adjust variable name in log
    
    Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
    
    Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
    66636dbcdb
  78. tests: Use wait_for_chainlocked_block_all_nodes in more places 941a2a84b8
  79. Revert "tests: Use wait_for_chainlocked_block_all_nodes in more places"
    This reverts commit 941a2a84b8a10fc01074ed7980c190ff2a149733.
    f8a769459c
  80. Merge bitcoin/bitcoin#21593: build, qt, refactor: Get rid of some sed command instances
    b95f7f8ac0dc102ece82bb2b97c8123e9da5b806 build, qt, refactor: Drop sed commands for win32-g++/qmake.conf (Hennadii Stepanov)
    
    Pull request description:
    
      Such possibility is [available](https://codereview.qt-project.org/c/qt/qtbase/+/165348) since Qt 5.8.0.
    
    ACKs for top commit:
      fanquake:
        ACK b95f7f8ac0dc102ece82bb2b97c8123e9da5b806
    
    Tree-SHA512: e56a3d208a6bd5d42c722f8b344010fe7d1b6f7a28486613dfcb03f0403a47cee8476e2366eeaac401a19836cd09f782e8741a1e781ab4d78f72c500a30e4929
    ebfe0908dd
  81. Merge #19064: refactor: Cleanup thread ctor calls 51e4bee06f
  82. Merge bitcoin/bitcoin#21462: guix: Add guix-{attest,verify} scripts
    d420e5c1c015f58d07aca4d6a805086488f74d03 guix-attest: Avoid incomplete sigdirs with ERR traps (Carl Dong)
    feda2c8e3180cb983c35976d4440cea23a155b7f guix: Skip attesting to dist-archive (Carl Dong)
    d522d8006b891eccd7901faf391f9c041ddf8e38 guix: Attest to inputs in inputs.SHA256SUMS (Carl Dong)
    f9e2960c018103be756a7f8a506816b49d662514 guix: Construct $OUTDIR in ${DISTSRC}/output (Carl Dong)
    022abc85fc7e711a900fed8e5071919a151c0a63 guix: Minor quoting fix in libexec/build.sh (Carl Dong)
    c83c4fa5b78aef33bba36b3a0d273422297bd630 guix-attest: Allow skipping GPG signing with NO_SIGN (Carl Dong)
    0e1c2e448c25568f276e4f022128870c76ca216b guix-attest: Use ascii-armor signatures (Carl Dong)
    b5fd89c4c89136007429688601ce4fa497f5f09e guix-attest: Only use cross-platform flags for find+xargs (Carl Dong)
    5926432ba68ba154df6c8eaa74adb18cc0123167 guix: Add guix-verify script (Carl Dong)
    30daf76a97c57a5f74c8dad1da282dcc0ff8b3fb guix: Add guix-attest script (Carl Dong)
    
    Pull request description:
    
      Adds replacements for `gsign` and `gverify`.
    
      Personally I'm not a big fan of using the word "sign" as it's been used to refer to both codesigning and GPG signing.
    
    ACKs for top commit:
      laanwj:
        Code review and tested ACK d420e5c1c015f58d07aca4d6a805086488f74d03
    
    Tree-SHA512: 93d82d201f4596eaea0e3825aa55b013dfb91790e6ccee79893833d37921513d7b4e735f0641103e1e2ea8308abe4cb6218b73160924708802f2e0e3f7f6caf1
    bf89181b22
  83. Merge #21912: doc: Remove mention of priority estimation c5567e7dc1
  84. Merge bitcoin/bitcoin#21927: fuzz: Run const CScript member functions only once
    fa74bfc8601cd2b749deb38388e2a4636d8b86ea fuzz: Run const CScript member functions only once (MarcoFalke)
    
    Pull request description:
    
      Those functions should be O(N) in the input size (or maybe worse, I didn't check), so if the fuzz input dictates to run them N times, the complexity is N^2.
    
      Fix this by calling them only once.
    
      Can be reviewed with: `--ignore-all-space  --word-diff-regex=.`
    
      Input: https://github.com/bitcoin/bitcoin/files/6464685/clusterfuzz-testcase-minimized-input.log
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34101
    
    ACKs for top commit:
      practicalswift:
        cr ACK fa74bfc8601cd2b749deb38388e2a4636d8b86ea: patch looks correct, rationale makes sense and patch touches only `src/test/fuzz/`
    
    Tree-SHA512: d579f7a2103ec154bf482a872142e55a1d9e7673d33a22a4c4230186fdd1b6618846463f4e25941031cc8c4bd1ea8d06cb49ae1bb1ec4af115497f5e5de1e19c
    5634271c2f
  85. Merge bitcoin/bitcoin#21796: index: Avoid async shutdown on init error
    faad68fcd440e77e61a5a1560471417dd984e390 index: Avoid async shutdown on init error (MarcoFalke)
    
    Pull request description:
    
      An async shutdown during init is confusing when a simple boolean return value can be used for a synchronous shutdown.
    
      This also changes the error message on stderr from:
    
      ```
      Error: A fatal internal error occurred, see debug.log for details
      Error: A fatal internal error occurred, see debug.log for details
      ```
    
      To:
    
      ```
      Error: basic block filter index best block of the index goes beyond pruned data. Please disable the index or reindex (which will download the whole blockchain again)
    
    ACKs for top commit:
      laanwj:
        Code review ACK faad68fcd440e77e61a5a1560471417dd984e390
    
    Tree-SHA512: 92dd895266d6d15a6b1a5c081c9b83f83d5c82e9bfceb3ea0664f48540812239e274c829ff0271c4a0afb6d6a8f67d89c5af20d719982ad62999a41ca0623274
    f7405ffcea
  86. Merge #21905: net: initialize nMessageSize to uint32_t max 33755a2b4c
  87. allow for spendable OR solvable to be criteria for utxo selection
    Previously only spendable would allow you to select coins in the wallet coin selection algorithm however in the case of p2sh/p2wsh coins they would not be spendable but be only solvable. The wallet code would then give back the raw transaction hex so that it can sign externally to complete.
    ee2cfd41e3
  88. Revert "allow for spendable OR solvable to be criteria for utxo selection"
    This reverts commit ee2cfd41e3406355020ad8932c67a6234d385f68.
    472a429f92
  89. include_watching/change_address params to asset rpc calls
    add change_address which overrides the change destination creation code in some calls
    d6d9f51cb2
  90. clean change coincontrol assignment and checks 97b54ff86e
  91. fix mint test 3f351c77bc
  92. Merge bitcoin/bitcoin#21911: build: add configure~ to .gitignore
    bc4538806e3c53e7821e01d5db896f65dd3358ad build: add *~ to .gitignore (Sjors Provoost)
    
    Pull request description:
    
      The file `configure~` recently started appearing for me on macOS (11.3.1) whenever configure is (re)run.
    
    ACKs for top commit:
      hebasto:
        ACK bc4538806e3c53e7821e01d5db896f65dd3358ad, tested on Linux Mint 20.1 with different build scenarios including cross-compiling for Windows and macOS.
    
    Tree-SHA512: 830c7baf392ff6d66250a79c6ed0a98dac3daaace54a6d2e7940b9a72e3bac79ab44bbecd7642c931fde8a446654e2260d6afdecc679a1743fae6ec5eeda79f1
    0136257b84
  93. Merge #21584: Fix assumeutxo crash due to invalid base_blockhash 86b8f4d7b0
  94. Merge #21931: ci: Bump cirrus fuzz CPUs to avoid timeout 8be811414d
  95. Merge bitcoin/bitcoin#21925: doc: Update bips.md for 0.21.1
    faf30f2ae0450c15b2b9b07bf71cc87d259b1056 doc: Update bips.md for 0.21.1 (MarcoFalke)
    
    Pull request description:
    
    ACKs for top commit:
      kristapsk:
        ACK faf30f2ae0450c15b2b9b07bf71cc87d259b1056
      jarolrod:
        ACK faf30f2ae0450c15b2b9b07bf71cc87d259b1056
      prayank23:
        ACK https://github.com/bitcoin/bitcoin/pull/21925/commits/faf30f2ae0450c15b2b9b07bf71cc87d259b1056
    
    Tree-SHA512: b09e8782306fe990d4eba871627cb7aa97a521a5aa08b7c7369fbfc24e49c3c9386cd06c590af076dff9b95ade207cc470911aa4b97cd5f366630974e71e1348
    0ede0bc663
  96. Merge #21910: refactor: remove redundant fOnlySafe argument 0bd7a957cf
  97. Merge bitcoin/bitcoin#21907: wallet: Do not iterate a directory if having an error while accessing it
    29c9e2c2d2015ade47ed4497926363dea3f9c59b wallet: Do not iterate a directory if having an error while accessing it (Hennadii Stepanov)
    
    Pull request description:
    
      On Windows when `ListDatabases` tries to iterate any system folder, e.g., "System Volume Information", it falls into an infinite loop.
    
      This PR fixes this bug. Now the `debug.log` contains:
      ```
      2021-05-12T09:07:53Z ListDatabases: Access is denied D:/System Volume Information -- skipping.
      ```
    
      An easy way to reproduce the bug and test this PR is to pass the `-walletdir=D:\` command-line option, and run the `listwalletdir` RPC, or File -> Open Wallet in the GUI menu.
    
      Fixes #20081.
      Fixes #21136.
      Fixes #21904.
    
      Also https://bitcoin.stackexchange.com/questions/99243/listwalletdir-access-is-denied-d-system-volume-information
    
    ACKs for top commit:
      prayank23:
        ACK https://github.com/bitcoin/bitcoin/pull/21907/commits/29c9e2c2d2015ade47ed4497926363dea3f9c59b
      promag:
        Code review ACK 29c9e2c2d2015ade47ed4497926363dea3f9c59b.
      meshcollider:
        Code review ACK 29c9e2c2d2015ade47ed4497926363dea3f9c59b
    
    Tree-SHA512: b851c88e6d09626f4cb81acc2fa59a563b2aee64582963285715bf785c64b872e8bf738aa6b27bdbaf4c3e5c8565c2dc2c802135f9aa1f48b4b913435bc5d793
    da5c7248f0
  98. Merge bitcoin/bitcoin#21914: net: use stronger AddLocal() for our I2P address
    105941b726c078642e785ecb7b6834ba814381b0 net: use stronger AddLocal() for our I2P address (Vasil Dimov)
    
    Pull request description:
    
      There are two issues:
    
      ### 1. Our I2P address not added to local addresses.
    
      * `externalip=` is used with an IPv4 address (this sets automatically `discover=0`)
      * No `discover=1` is used
      * `i2psam=` is used
      * No `externalip=` is used for our I2P address
      * `listenonion=1 torcontrol=` are used
    
      In this case `AddLocal(LOCAL_MANUAL)` [is used](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/torcontrol.cpp#L354) for our `.onion` address and `AddLocal(LOCAL_BIND)` [for our](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/net.cpp#L2247) `.b32.i2p` address, the latter being [ignored](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/net.cpp#L232-L233) due to `discover=0`.
    
      ### 2. Our I2P address removed from local addresses even if specified with `externalip=` on I2P proxy restart.
    
      * `externalip=` is used with our I2P address (this sets automatically `discover=0`)
      * No `discover=1` is used
      * `i2psam=` is used
    
      In this case, initially `externalip=` causes our I2P address to be [added](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/init.cpp#L1266) with `AddLocal(LOCAL_MANUAL)` which overrides `discover=0` and works as expected. However, if later the I2P proxy is shut down [we do](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/net.cpp#L2234) `RemoveLocal()` in order to stop advertising our I2P address (since we have lost I2P connectivity). When the I2P proxy is started and we reconnect to it, restoring the I2P connectivity, [we do](https://github.com/bitcoin/bitcoin/blob/94f83534e4b771944af7d9ed0f40746f392eb75e/src/net.cpp#L2247) `AddLocal(LOCAL_BIND)` which does nothing due to `discover=0`.
    
      To resolve those two issues, use `AddLocal(LOCAL_MANUAL)` for I2P which is also what we do with Tor.
    
    ACKs for top commit:
      laanwj:
        Code review ACK 105941b726c078642e785ecb7b6834ba814381b0
    
    Tree-SHA512: 0c9daf6116b8d9c34ad7e6e9bbff6e8106e94e4394a815d7ae19287aea22a8c7c4e093c8dd8c58a4a1b1412b2575a9b42b8a93672c8d17f11c24508c534506c7
    bf77c70a58
  99. Merge bitcoin/bitcoin#21939: refactor: Replace memset calls with array initialization
    1c9255c7dd2d4f12bfb508bcc8d123a6354d8842 refactor: Replace memset calls with array initialization (João Barbosa)
    
    Pull request description:
    
      Follow up to https://github.com/bitcoin/bitcoin/pull/21905#pullrequestreview-657045699.
    
    ACKs for top commit:
      laanwj:
        re-ACK 1c9255c7dd2d4f12bfb508bcc8d123a6354d8842
      Crypt-iQ:
        Code review ACK 1c9255c7dd2d4f12bfb508bcc8d123a6354d8842
    
    Tree-SHA512: 4b61dec2094f4781ef1c0427ee3bda3cfea12111274eebc7bc40a84f261d9c1681dd0860c57200bea2456588e44e8e0aecd18545c25f1f1250dd331ab7d05f28
    3b43f88056
  100. Merge bitcoin/bitcoin#21942: docs: improve make with parallel jobs description.
    07bc22ef105dee3c6c465a3ef31e52fd198e786d docs: improve make with parallel jobs description. (Klement Tan)
    
    Pull request description:
    
      Changed `use -jX here for parallelism` to `use "-j N" for N parallel jobs`
    
      **Rationale**: In my opinion `use -jX here for parallelism` is quite ambiguous as it could be perceived as a single option without any argument. Ie running:
      ```sh
      make -jX
      ```
    
      Embarrassingly this caused me to be stuck for quite a long time until I opened the help menu for `make` but if I am the only one who faced this issue I would be happy to close this PR.
    
    ACKs for top commit:
      jarolrod:
        ACK 07bc22ef105dee3c6c465a3ef31e52fd198e786d
    
    Tree-SHA512: 2d119b6a461668906c63184b865d2cc9fb2f75abeba34e2e44bc1ef3bcb4adec4a49896ddaf3cc6a20c0095ad20d0de0908401b351eaca9443161d24d6b20d0b
    b1f415ee9d
  101. Merge bitcoin/bitcoin#21929: fuzz: Remove incorrect float round-trip serialization test
    fae814c9a6c8ce4822f1fc6b88cfbbde7cc2d49c fuzz: Remove incorrect float round-trip serialization test (MarcoFalke)
    
    Pull request description:
    
      It tests the wrong way of the round-trip: `int -> float -> int`, but only `float -> int -> float` is allowed and used. See also `src/test/fuzz/float.cpp`.
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34118
    
    ACKs for top commit:
      laanwj:
        Anyhow, ACK fae814c9a6c8ce4822f1fc6b88cfbbde7cc2d49c
    
    Tree-SHA512: 8412a7985be2225109f382b7c7ea6d6fcfbea15711671fdf2f41dd1a9adbb3b4489592863751d78bedaff98e9b0b13571d9cae06ffd92db8fbf7ce0f47874a41
    e77df577eb
  102. Merge bitcoin/bitcoin#21889: macho: check for control flow instrumentation
    42b589d18fed5e2b3cb6ac9937e3333619967a6c scripts: test for MACHO control flow instrumentation (fanquake)
    469a5bc4fa74d70556cce454efbc38fb7945acd8 build: build Boost with -fcf-protection when targeting Darwin (fanquake)
    
    Pull request description:
    
      Addresses the macOS portion of #21888.
    
      Build Boost with `-fcf-protection` when targeting Darwin. This should be ok, because our cross-compiler (Clang 10) supports the option, and I'd expect all versions of Apple Clang being used to compile Core would also support it. Building Boost with this option is required so that the `main` provided to `test_bitcoin` has instrumentation.
    
      Note that the presence of instrumentation does not mean it will be used, as that is determined at runtime by the CPU.
      From the Intel control flow enforcement documentation:
    
      > The ENDBR32 and ENDBR64 instructions will have the same effect as the NOP instruction on Intel 64 processors that do not support CET. On processors supporting CET, these instructions do not change register or flag state. This allows CET instrumented programs to execute on processors that do not support CET. Even when CET is supported and enabled, these NOP–like instructions do not affect the execution state of the program, do not cause any additional register pressure, and are minimally intrusive from power and performance perspectives.
    
      Follow up from #21135.
    
      Guix builds:
      ```bash
      663df8471400f06d4da739e39a886aa17f56a36d66e0ff7cc290686294ef39c9  guix-build-42b589d18fed/output/dist-archive/bitcoin-42b589d18fed.tar.gz
      45e841661e1659a634468b6f8c9fb0a7956c31ba296f1fd0c02cd880736d6127  guix-build-42b589d18fed/output/x86_64-apple-darwin18/bitcoin-42b589d18fed-osx-unsigned.dmg
      0ea85c99fef35429a5048fa14850bce6b900eaa887aeea419b019852f8d2be78  guix-build-42b589d18fed/output/x86_64-apple-darwin18/bitcoin-42b589d18fed-osx-unsigned.tar.gz
      85857a5a4a5d4d3a172d6c361c12c4a94f6505fc12b527ea63b75bfe54ee1001  guix-build-42b589d18fed/output/x86_64-apple-darwin18/bitcoin-42b589d18fed-osx64.tar.gz
      ```
    
      Gitian builds:
      ```bash
      # macOS:
      bdfd677a6b88273a741b433e1e7f554af50cc76b3342d44ab0c441e2b40efc96  bitcoin-42b589d18fed-osx-unsigned.dmg
      f3b2d09f3bea7a5cc489b02e8e53dd76a9922338500fae79cad0506655af56f9  bitcoin-42b589d18fed-osx-unsigned.tar.gz
      29d5ad5e46bc9fb0056922a8b47c026e5e9f71e6cf447203b74644587d6fb6f7  bitcoin-42b589d18fed-osx64.tar.gz
      663df8471400f06d4da739e39a886aa17f56a36d66e0ff7cc290686294ef39c9  src/bitcoin-42b589d18fed.tar.gz
      366f8d7a2fc1f3e22cb1018043099126a71ce65380cc27b1c3280cce42d06c98  bitcoin-core-osx-22-res.yml
      ```
    
    ACKs for top commit:
      laanwj:
        Code review ACK 42b589d18fed5e2b3cb6ac9937e3333619967a6c
    
    Tree-SHA512: 12cb8d462d64d845b9fe48c5c6978892adff8bf5b5572bb29f35df1f6176e47b32a68bcb6e4883c7d9454e76e8868851005a7325916852a2d0d32659ac7dae3f
    d8f8fb752f
  103. Merge bitcoin/bitcoin#21948: test: Fix off-by-one in mockscheduler test RPC
    fa2e614d16af84327adf1c02746d0f73e0f48111 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke)
    
    Pull request description:
    
      Fixes:
    
      ```
      fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed.
      ==1059066== ERROR: libFuzzer: deadly signal
          #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10)
          #1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o
          #2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o
          #3 0x7f4a3cbbb3bf  (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf)
          #4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a)
          #5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858)
          #6 0x7f4a3c7de728  (/lib/x86_64-linux-gnu/libc.so.6+0x25728)
          #7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35)
          #8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5
          #9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30
          #10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9
          #11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14
          #12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26
          #13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91
          #14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9
          #15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14
          #16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20
          #17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13
          #18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13
          #19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) test/fuzz/rpc.cpp:50:25
          #20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28
          #21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2
          #22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14
          #23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5
          #24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o
          #25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o
          #26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o
          #27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92)
          #28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
          #29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d)
    
    ACKs for top commit:
      practicalswift:
        cr ACK fa2e614d16af84327adf1c02746d0f73e0f48111
    
    Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
    177abd6677
  104. Don't re-check AuxPoW when sending data to peers
    All block headers are already checked when they are accepted, and they will be
    checked again on the receiving end. Also chainlocks will enforce correctness of chain with live state validation regardless.
    3f5406edd4
  105. fwd checkpow param to readblock calls f675fb66c1
  106. Merge bitcoin/bitcoin#21947: doc: Fix OSS-Fuzz links
    fadd98d02f5ebb07a68006f6a0b33881fdf78505 doc: Fix OSS-Fuzz links (MarcoFalke)
    
    Pull request description:
    
      * Add missing link to the coverage report
      * Replace unqualified link with qualified one
    
    ACKs for top commit:
      practicalswift:
        ACK fadd98d02f5ebb07a68006f6a0b33881fdf78505
      jarolrod:
        ACK fadd98d02f5ebb07a68006f6a0b33881fdf78505
    
    Tree-SHA512: 5d5138288ae75d6a9ae536f307a63813ffe60c628a8c9a74b33f0d1be1a34fac2ff5eca9c9fe64be3139f2251736ba088c5f3731f0b3f50c70c5a5f1a89f0ea4
    f7fa3ebe05
  107. Merge bitcoin-core/gui#323: English translations update 902f9e8bb1
  108. evo: Fix two mempool issues
    * evo: Remove all protx-es that refer to a ProRegTx removed from mempool
    
    * tests: Check that removal of ProRegTx causes removal of other protx-es that refer to it
    
    * evo: Consider tx itself a collateral in mempool maps when payload collateral hash is null
    
    * tests: Should not allow a ProRegTx which uses another ProRegTx as an external collateral to enter mempool
    70df507e30
  109. Update evo_deterministicmns_tests.cpp 080ff58e33
  110. fix test c8887be29b
  111. Merge bitcoin/bitcoin#21920: build: improve macro for testing -latomic requirement
    fa25ce45e9d54a2f0d5f2c0de9254d102a855a76 build: improve macro for testing -latomic requirement (MarcoFalke)
    
    Pull request description:
    
      This fixes the issue where `-latomic` is incorrectly omitted from the linker flags.
    
      Steps to reproduce on vanilla Ubuntu Focal:
    
      ```
      export DEBIAN_FRONTEND=noninteractive && apt update && apt install curl wget htop git vim ccache -y && git clone https://github.com/bitcoin/bitcoin.git && cd bitcoin && apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq make automake cmake curl clang llvm g++-multilib libtool binutils-gold bsdmainutils pkg-config python3 patch bison -y  && ( cd depends && make DEBUG=1 HOST=i686-pc-linux-gnu NO_QT=1 NO_WALLET=1 NO_ZMQ=1 NO_UPNP=1 NO_NATPMP=1 -j $(nproc) ) && ./autogen.sh && CONFIG_SITE="$PWD/depends/i686-pc-linux-gnu/share/config.site" ./configure CC='clang -m32' CXX='clang++ -m32' --enable-fuzz --with-sanitizers=fuzzer && make  -j $(nproc)
      ```
    
      Before:
      ```
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net.o): in function `std::atomic<std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > >::load(std::memory_order) const':
      net.cpp:(.text._ZNKSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1000000EEEEE4loadESt12memory_order[_ZNKSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1000000EEEEE4loadESt12memory_order]+0x51): undefined reference to `__atomic_load'
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net.o): in function `std::atomic<std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > >::store(std::chrono::duration<long long, std::ratio<1ll, 1000000ll> >, std::memory_order)':
      net.cpp:(.text._ZNSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1000000EEEEE5storeES4_St12memory_order[_ZNSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1000000EEEEE5storeES4_St12memory_order]+0x5f): undefined reference to `__atomic_store'
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net.o): in function `std::atomic<ServiceFlags>::load(std::memory_order) const':
      net.cpp:(.text._ZNKSt6atomicI12ServiceFlagsE4loadESt12memory_order[_ZNKSt6atomicI12ServiceFlagsE4loadESt12memory_order]+0x51): undefined reference to `__atomic_load'
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net_processing.o): in function `std::atomic<ServiceFlags>::store(ServiceFlags, std::memory_order)':
      net_processing.cpp:(.text._ZNSt6atomicI12ServiceFlagsE5storeES0_St12memory_order[_ZNSt6atomicI12ServiceFlagsE5storeES0_St12memory_order]+0x6c): undefined reference to `__atomic_store'
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net_processing.o): in function `std::atomic<std::chrono::duration<long long, std::ratio<1ll, 1ll> > >::load(std::memory_order) const':
      net_processing.cpp:(.text._ZNKSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1EEEEE4loadESt12memory_order[_ZNKSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1EEEEE4loadESt12memory_order]+0x51): undefined reference to `__atomic_load'
      /usr/bin/ld: libbitcoin_server.a(libbitcoin_server_a-net_processing.o): in function `std::atomic<std::chrono::duration<long long, std::ratio<1ll, 1ll> > >::store(std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::memory_order)':
      net_processing.cpp:(.text._ZNSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1EEEEE5storeES4_St12memory_order[_ZNSt6atomicINSt6chrono8durationIxSt5ratioILx1ELx1EEEEE5storeES4_St12memory_order]+0x5f): undefined reference to `__atomic_store'
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
      ```
    
      After:
    
      Clean
    
    ACKs for top commit:
      jarolrod:
        ACK fa25ce45e9d54a2f0d5f2c0de9254d102a855a76
      hebasto:
        ACK fa25ce45e9d54a2f0d5f2c0de9254d102a855a76, tested on Ubuntu 20.04.2 LTS.
      fanquake:
        ACK fa25ce45e9d54a2f0d5f2c0de9254d102a855a76
    
    Tree-SHA512: 7b0e76876c28a4ef8d8cde1ea26c18aeec51da3d54e4da75829276b9b2a259f9d0feab215be0d39e651c6bd89071859bc29aa48131e627e745a828d9f8d4a98e
    7bbac0c554
  112. Merge #21983: build: Silence lupdate "unknown namespace/class" warnings 3c572d32b8
  113. Merge bitcoin/bitcoin#21988: doc: note that brew installed qt is not supported
    33b0b26a03a401bd39b88931b69d162c3c538d31 doc: note that brew installed qt is not supported (Raul Siles)
    
    Pull request description:
    
      picking up #21791, the author has stated they [cannot squash](https://github.com/bitcoin/bitcoin/pull/21791#issuecomment-828770283).
    
      This is a useful note to prevent any issues from being opened up about this. The reason that both cannot co-exist and build bitcoin is stated [here](https://github.com/bitcoin/bitcoin/pull/21791#issuecomment-837278123):
      > ... the reason is sharing /usr/local/include/ and /usr/local/lib/ directories by both qt5 and qt6 installations.
    
      Changes from original PR:
      - slightly move the note up in this section, this placement seems more appropriate to me
      - drop "Note:"
    
      [PR Render](https://github.com/jarolrod/bitcoin/blob/33b0b26a03a401bd39b88931b69d162c3c538d31/doc/build-osx.md#qt)
    
    ACKs for top commit:
      laanwj:
        LGTM ACK 33b0b26a03a401bd39b88931b69d162c3c538d31
      hebasto:
        ACK 33b0b26a03a401bd39b88931b69d162c3c538d31
    
    Tree-SHA512: f9efac1921a7a33b5791a9f9f4bada4b5369d358fc42e9884c077bfb4dc3f273fdd4432ce012006a8009dfafb87e13bddd56c6336fe84b6133f4b22f849c289a
    c9df31ae69
  114. Merge bitcoin/bitcoin#21985: net: Return IPv6 scope id in `CNetAddr::ToStringIP()`
    6c280adcd865ae3da4df53d630c9bf737283a56f net: Return IPv6 scope id in `CNetAddr::ToStringIP()` (W. J. van der Laan)
    
    Pull request description:
    
      If a scope id is provided, return it back in the string representation. Also bring back the test (now in platform independent fashion). Closes #21982. Includes #21961 (apart from the MacOS remark).
    
    ACKs for top commit:
      practicalswift:
        cr ACK 6c280adcd865ae3da4df53d630c9bf737283a56f
    
    Tree-SHA512: 77792c35679b6c3545fd3a8d3d74c4f515ac2ee9f02d983251aeaaac715d55c122bbb0141abbeac272011f15520b439bd2db4ec8541a58df9b366921d212ca5f
    b2255c1f29
  115. Merge bitcoin/bitcoin#21173: util: faster HexStr => 13% faster blockToJSON
    74bf850ac47735f2ef4306059d3e664d40cac85e faster HexStr => 13% faster blockToJSON (Martin Ankerl)
    
    Pull request description:
    
      `std::string`'s push_back is rather slow because it needs to check & update the string size. For
      `HexStr` the output string size is already easily know, so we can initially create the string with
      the correct size and then just assign the data.
    
      `HexStr` is heavily usd in `blockToJSON`, so this change is a noticeable benefit. Benchmark on an i7-8700 @3.2GHz:
    
      * 71,315,461.00 ns/op master
      * 62,842,490.00 ns/op this commit
    
      So this little change makes `blockToJSON` about ~13% faster.
    
    ACKs for top commit:
      laanwj:
        Code review ACK 74bf850ac47735f2ef4306059d3e664d40cac85e
      theStack:
        re-ACK 74bf850ac47735f2ef4306059d3e664d40cac85e
    
    Tree-SHA512: fc99105123edc11f4e40ed77aea80cf7f32e49c53369aa364b38395dcb48575e15040b0489ed30d0fe857c032a04e225c33e9d95cdfa109a3cb5a6ec9a972415
    2e275ce3bc
  116. Merge #21506: p2p, refactor: make NetPermissionFlags an enum class 41ce7f72bb
  117. Update net_processing.cpp bb4accd342
  118. Merge bitcoin/bitcoin#21962: wallet: refactor: dedup sqlite PRAGMA access
    9938d610b043bf018e0b34d92e3daaffe1f17fcc wallet: refactor: dedup sqlite PRAGMA assignments (Sebastian Falbesoner)
    dca8ef586c57075587e6cd44db88eaa5c4b707c7 wallet: refactor: dedup sqlite PRAGMA integer reads (Sebastian Falbesoner)
    
    Pull request description:
    
      This refactoring PR deduplicates repeated SQLite access to PRAGMA settings. Two functions `ReadPragmaInteger(...)` (reads a single integer value via statement `PRAGMA key`) and `SetPragma(...)` (sets a key to specified value via statement `PRAGMA key = value`) are introduced for this purpose.
      This should be more readable and less error-prone, e.g. in case other PRAGMA settings need to be read/set in the future or the error handling has to be adapted.
    
    ACKs for top commit:
      achow101:
        Code Review ACK 9938d610b043bf018e0b34d92e3daaffe1f17fcc
      laanwj:
        Looks good to me now, code review ACK 9938d610b043bf018e0b34d92e3daaffe1f17fcc
    
    Tree-SHA512: 5332788ead6d8d652e28cb0cef1bf0be2b22d6744f8d02dd9e04a4a68e32e14d4a21f94d9b940c37a0d815be3f0091d956c9f6e269b0a6819b62b40482d3bbd2
    f2a8dbc1d0
  119. Merge bitcoin/bitcoin#21659: net: flag relevant Sock methods with [[nodiscard]]
    e286cd0d7b4e12c8efe5e7ac3066a100e0ba2c0a net: flag relevant Sock methods with [[nodiscard]] (Vasil Dimov)
    
    Pull request description:
    
      Flag relevant Sock methods with `[[nodiscard]]` to avoid issues like the one fixed in https://github.com/bitcoin/bitcoin/pull/21631.
    
    ACKs for top commit:
      practicalswift:
        cr ACK e286cd0d7b4e12c8efe5e7ac3066a100e0ba2c0a: the only changes made are additions of `[[nodiscard]]` and `(void)` where appropriate
      laanwj:
        Code review ACK e286cd0d7b4e12c8efe5e7ac3066a100e0ba2c0a
    
    Tree-SHA512: addc361968d24912bb625b42f4db557791556bf0ffad818252a89a32d76ac22758ec70f8282dcfbfd77eebec20a8e6bb7557c8ed08d50a58de95378c34955973
    6ae83253d2
  120. Merge #20773: refactor: split CWallet::Create e3bbf04df9
  121. Merge bitcoin/bitcoin#21996: p2p: pass strings to NetPermissions::TryParse functions by const ref
    39393479c514f271c42750ffcd0adc6bc1db2e2f p2p: pass strings to NetPermissions::TryParse functions by const ref (Jon Atack)
    
    Pull request description:
    
      instead of by value, as these are "in" params that are not cheap to copy.
    
      Reference: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#f16-for-in-parameters-pass-cheaply-copied-types-by-value-and-others-by-reference-to-const
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 39393479c514f271c42750ffcd0adc6bc1db2e2f
    
    Tree-SHA512: 294fe0f2d900293b4447d4e1f0ccc60c1ed27b3bdbd0f5d71d3dbf71de86879638b1b813fadfb44c58b4acff4e7d75b7ed6a4f9cc5fcf627108224e6a21b524c
    2f9dd21244
  122. Merge #21970: fuzz: Add missing CheckTransaction before CheckTxInputs ec73d491f9
  123. Merge bitcoin/bitcoin#21913: rpc: RPCHelpMan fixes
    6e2eb0d63b42288c11a65d585d487108643888d0 rpc/wallet: use OMITTED_NAMED_ARG instead of Default(VNULL) (Karl-Johan Alm)
    4983f4cba44c4ffaa4972fdede7cf6fcf8caec00 rpc/createwallet: omitted named arguments (Karl-Johan Alm)
    dc4db23b30b4bc7884bb28630b2b24edd81c1799 rpc: address:amount dictionaries are OBJ_USER_KEYS (Karl-Johan Alm)
    c8cf0a3d513b8c892f1ae16b8c0cda184064a07b rpc/getpeerinfo: bytesrecv_per_msg is a dynamic dictionary (Karl-Johan Alm)
    eb4fb7e507b583bd4ae8d1e3747f41616c782ded rpc/gettxoutsetinfo: hash_or_height is a named argument (Karl-Johan Alm)
    
    Pull request description:
    
      This is a follow-up to #21897, and I believe covers the remaining cases, at least that I could find.
    
      Edited to remove unrelated information about a side project.
    
    ACKs for top commit:
      laanwj:
        Documentation diff ACK 6e2eb0d63b42288c11a65d585d487108643888d0
      promag:
        Code review ACK 6e2eb0d63b42288c11a65d585d487108643888d0.
    
    Tree-SHA512: d26f6e074e13d64bbca2a114a0adc7f905d47d238c4e9bc49f70ca0b775afbebf9879fc3794ab29dc316a6dbd00ba8cbeb01197e236ee4ab2e9854db25f23f04
    d9eb594fe7
  124. Merge #21843: p2p, rpc: enable GetAddr, GetAddresses, and getnodeaddr… 4976e3d132
  125. Merge bitcoin-core/gui#281: set shortcuts for console's resize buttons 4cbc1dee20
  126. Merge bitcoin-core/gui#335: test: Use QSignalSpy instead of QEventLoop
    7eea659fc908e5edfc90c185a6958ed07ecf5cd4 qt, test: use qsignalspy instead of qeventloop (Jarol Rodriguez)
    
    Pull request description:
    
      This PR refactors our GUI `apptests` to use [QSignalSpy](https://doc.qt.io/qt-5/qsignalspy.html) instead of [QEventLoop](https://doc.qt.io/qt-5/qeventloop.html).
    
      `QSignalSpy` is more appropriate for our GUI test's as it is purpose-built for testing emission of signals and sets up its own `QEventLoop` when the `wait` function is called.
    
    ACKs for top commit:
      hebasto:
        ACK 7eea659fc908e5edfc90c185a6958ed07ecf5cd4, tested on Linux Mint 20.1 (Qt 5.12.8).
      promag:
        Code review ACK 7eea659fc908e5edfc90c185a6958ed07ecf5cd4.
    
    Tree-SHA512: 3adddbcc5efd726302b606980c9923025c44bb8ee16cb8a183e633e423179c0822db66de9ccba20dc5124fff34af4151a379c9cd18130625c60789ce809ee6fd
    daba9b472d
  127. Merge bitcoin/bitcoin#21991: build: libevent 2.1.12-stable
    f152c1ac66bfe5c77d947d5c99ce5da3a88797fa build: libevent 2.1.12-stable (fanquake)
    
    Pull request description:
    
      Start using [libevent 2.1.12-stable](https://github.com/libevent/libevent/releases/tag/release-2.1.12-stable) in depends. Changelog is available here: https://raw.githubusercontent.com/libevent/libevent/release-2.1.12-stable/ChangeLog. This release basically only contains bug fixes.
    
      Upgrading will also prevent some oss-fuzz reports which are coming from libevent code, such as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34355 & https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34412.
    
      Guix builds:
      ```bash
      aa365feab851d2055c4c3cd787fc1db972a8f2efe1e7c75bc62b34594846a021  guix-build-f152c1ac66bf/output/aarch64-linux-gnu/bitcoin-f152c1ac66bf-aarch64-linux-gnu-debug.tar.gz
      80cf96c4618279f4420b3f15ce3d3331937506e7996d8c325ce741f4da431fad  guix-build-f152c1ac66bf/output/aarch64-linux-gnu/bitcoin-f152c1ac66bf-aarch64-linux-gnu.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/aarch64-linux-gnu/inputs.SHA256SUMS
      b6261b19ed8f55e655122d515a4f76a984e1f74f932630ce40ca34bb76fadfc6  guix-build-f152c1ac66bf/output/arm-linux-gnueabihf/bitcoin-f152c1ac66bf-arm-linux-gnueabihf-debug.tar.gz
      be1018237e5e739a742f777efdbdd28ff794cfc2faa39930d5da6dfcfa620da3  guix-build-f152c1ac66bf/output/arm-linux-gnueabihf/bitcoin-f152c1ac66bf-arm-linux-gnueabihf.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/arm-linux-gnueabihf/inputs.SHA256SUMS
      e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  guix-build-f152c1ac66bf/output/dist-archive/SKIPATTEST.TAG
      52fa25961965b53e73319f5f8ba5a62f789b56ff3a07286ed5fe88771c2674bf  guix-build-f152c1ac66bf/output/dist-archive/bitcoin-f152c1ac66bf.tar.gz
      069dfc72b83527722552d12db86f3f7046be9a85d0ccc5168c71af0d38dbc9a9  guix-build-f152c1ac66bf/output/powerpc64-linux-gnu/bitcoin-f152c1ac66bf-powerpc64-linux-gnu-debug.tar.gz
      dba47d56dccdd4183762f888ab2e64bf8c074a6873dcf6dac663f88633932926  guix-build-f152c1ac66bf/output/powerpc64-linux-gnu/bitcoin-f152c1ac66bf-powerpc64-linux-gnu.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/powerpc64-linux-gnu/inputs.SHA256SUMS
      e43e2c631ed0dd587a52705b36e5e69e9e622d493eb6741d438976197a1416f2  guix-build-f152c1ac66bf/output/powerpc64le-linux-gnu/bitcoin-f152c1ac66bf-powerpc64le-linux-gnu-debug.tar.gz
      f47f006c68262e3cd30acc355478d4ea056bb1c055bc51c5adab56305c260725  guix-build-f152c1ac66bf/output/powerpc64le-linux-gnu/bitcoin-f152c1ac66bf-powerpc64le-linux-gnu.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/powerpc64le-linux-gnu/inputs.SHA256SUMS
      f62805fd8652e28d935da14b0328f62a583be24b5517a5c7f189970bdd3c6eb0  guix-build-f152c1ac66bf/output/riscv64-linux-gnu/bitcoin-f152c1ac66bf-riscv64-linux-gnu-debug.tar.gz
      db16cbddfc790798af8617213cc726002545f05cfb90ec00e462ba5d3aca10b1  guix-build-f152c1ac66bf/output/riscv64-linux-gnu/bitcoin-f152c1ac66bf-riscv64-linux-gnu.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/riscv64-linux-gnu/inputs.SHA256SUMS
      2c1afbc6ea44e5947ffcbdf031233f03f7a63b93ca08ddfec2c45c661c1666bc  guix-build-f152c1ac66bf/output/x86_64-apple-darwin18/bitcoin-f152c1ac66bf-osx-unsigned.dmg
      65cff5a1bc7eb411b1bb26eb407c2a944e5bf24b08cfcd7a9eeea47924106ac8  guix-build-f152c1ac66bf/output/x86_64-apple-darwin18/bitcoin-f152c1ac66bf-osx-unsigned.tar.gz
      98a5c002aed8a35912853cca5e5ffd7afc91eb839b81ca8bc73ddf010839e3ac  guix-build-f152c1ac66bf/output/x86_64-apple-darwin18/bitcoin-f152c1ac66bf-osx64.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/x86_64-apple-darwin18/inputs.SHA256SUMS
      84e3188d369aae01a459b477e1935a9466338bb9ea6d4beb93675275a5ac62fd  guix-build-f152c1ac66bf/output/x86_64-linux-gnu/bitcoin-f152c1ac66bf-x86_64-linux-gnu-debug.tar.gz
      ea3f4d928f82ea3d1079be3d4e020349e9d412c621149656ea409a61de906c4c  guix-build-f152c1ac66bf/output/x86_64-linux-gnu/bitcoin-f152c1ac66bf-x86_64-linux-gnu.tar.gz
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/x86_64-linux-gnu/inputs.SHA256SUMS
      6dc14c4e1d0b353b865a9f807dafe7ec56e829a8bc104a5ac6ef331bdc9bc726  guix-build-f152c1ac66bf/output/x86_64-w64-mingw32/bitcoin-f152c1ac66bf-win-unsigned.tar.gz
      bd382152587c2dc5816d615d71e36df80f54eac5b4913569148e44117b80517c  guix-build-f152c1ac66bf/output/x86_64-w64-mingw32/bitcoin-f152c1ac66bf-win64-debug.zip
      d2f38b52ea54e913ccadbda6c264a258ca9a55b40a8af96ab8123e8311170aef  guix-build-f152c1ac66bf/output/x86_64-w64-mingw32/bitcoin-f152c1ac66bf-win64-setup-unsigned.exe
      8846b6edcdb0b3c29bdbab08b3582ee13b4877724bf3811246360b14b73ae420  guix-build-f152c1ac66bf/output/x86_64-w64-mingw32/bitcoin-f152c1ac66bf-win64.zip
      53db9e6b78fa13e0753cab4a35da5e66156c54485020c6c49b1cd1ab406e978b  guix-build-f152c1ac66bf/output/x86_64-w64-mingw32/inputs.SHA256SUMS
      ```
    
      Gitian builds:
      ```bash
      # macOS:
      19401d11d0eda5cdcbab8c1353f7110963288e5223fd95d8cc3380107b66a7e4  bitcoin-f152c1ac66bf-osx-unsigned.dmg
      3eb2383c5af734a86eaf1895f261c1ba5fddc130d9682857eff08fa7d0599e93  bitcoin-f152c1ac66bf-osx-unsigned.tar.gz
      c2572b6f17613a380cf95417ed6a533d8f75fb1418428e234cb90cc0d3d5a655  bitcoin-f152c1ac66bf-osx64.tar.gz
      52fa25961965b53e73319f5f8ba5a62f789b56ff3a07286ed5fe88771c2674bf  src/bitcoin-f152c1ac66bf.tar.gz
      4bcf84076345c61736c63f33e6f9db57b626030c417c2a1b668752d5f87dab22  bitcoin-core-osx-22-res.yml
    
      # Windows:
      5857fda233fc9fdb04391bd1718522b774978d093912650d4dc6e49b70dde40b  bitcoin-f152c1ac66bf-win-unsigned.tar.gz
      beff745cde9f19d3d619c3c360a9eb37dbe94169cbc968ac7958e80521584787  bitcoin-f152c1ac66bf-win64-debug.zip
      e92010f76d8b286e291c4420349018029e72013ae8bf5b98eccfbf9f856a1490  bitcoin-f152c1ac66bf-win64-setup-unsigned.exe
      46c38498fb16e5353de24caffd11d00b23162ec92f126de57888b4f92f375d79  bitcoin-f152c1ac66bf-win64.zip
      52fa25961965b53e73319f5f8ba5a62f789b56ff3a07286ed5fe88771c2674bf  src/bitcoin-f152c1ac66bf.tar.gz
      851ebc1f3028ec421d733a15acf7514474a44837b75e2f94c1f80ab383b1a364  bitcoin-core-win-22-res.yml
    
      # Linux:
      4270014b016a309b6ccff39cf87b90f3b5a36a10eab5d2c41697b12b9eb5e63e  bitcoin-f152c1ac66bf-aarch64-linux-gnu-debug.tar.gz
      f226aaeb9cf7786fa5f4dc379611c8b1b3b580df503f79905158d0e2271c3862  bitcoin-f152c1ac66bf-aarch64-linux-gnu.tar.gz
      4cd6208dc30c15b71d80d9cd59d367aba676934609d59581c8f418f9e864994d  bitcoin-f152c1ac66bf-arm-linux-gnueabihf-debug.tar.gz
      21746b2bbf4fd6778ea0357271f569975029667dea2ad0000abb6751eeba8071  bitcoin-f152c1ac66bf-arm-linux-gnueabihf.tar.gz
      d73e6b2a779061037eaa3174615a7e5bb6082056ee4dc13de4026cc3ad21f3c5  bitcoin-f152c1ac66bf-powerpc64-linux-gnu-debug.tar.gz
      e6c5876dcdd30b8936b957afc8adb9341c64a1201ba8c4285f5f76bc37689c7c  bitcoin-f152c1ac66bf-powerpc64-linux-gnu.tar.gz
      fc0270f7c220519e91ecd27c37df7ec130e16db8508e51b52eb88eae1f0d05d2  bitcoin-f152c1ac66bf-powerpc64le-linux-gnu-debug.tar.gz
      3729a36717f704a6e30a0368a68d2356ec9af240b706a7a8c117f7ebcc5ebbca  bitcoin-f152c1ac66bf-powerpc64le-linux-gnu.tar.gz
      b661fc47dbf4a56cecfe02abfff78644524cd6d94aac51a38d83a4ba96a21b6e  bitcoin-f152c1ac66bf-riscv64-linux-gnu-debug.tar.gz
      8934ae4727e7908f626d2392877cad153696c6d8e832a9dbc0960e090f633ab4  bitcoin-f152c1ac66bf-riscv64-linux-gnu.tar.gz
      cc8511b71c89575f15cfbb360c18c0af298869fd4e8c4a27ef2c04b6bc0f0703  bitcoin-f152c1ac66bf-x86_64-linux-gnu-debug.tar.gz
      1cfb8cf750ca7af47cbab00d8eaee336fb11c22756a62b26b5c9a1263b5b0cd4  bitcoin-f152c1ac66bf-x86_64-linux-gnu.tar.gz
      52fa25961965b53e73319f5f8ba5a62f789b56ff3a07286ed5fe88771c2674bf  src/bitcoin-f152c1ac66bf.tar.gz
      3b5053c7392a1a6264f3d192136e50fc9db969834d9d3643d860a3f0e2f79535  bitcoin-core-linux-22-res.yml
      ```
    
    ACKs for top commit:
      practicalswift:
        ~~cr ACK f152c1ac66bfe5c77d947d5c99ce5da3a88797fa: patch looks correct and this should resolve the OSS-Fuzz issues~~ ACK temporarily redacted while awaiting non-determinism fix
      MarcoFalke:
        Approach ACK f152c1ac66bfe5c77d947d5c99ce5da3a88797fa
      hebasto:
        ~ACK f152c1ac66bfe5c77d947d5c99ce5da3a88797fa~ [retracted due to non-reproducible builds](https://github.com/bitcoin/bitcoin/pull/21991#issuecomment-844005749)
    
    Tree-SHA512: 43253131f6d7fadfcda541e00c13d5e2fd395555563bcc42218ba4657d8f94b09760cbad6b8f0a17e426eed817624b745464d2733f7d5ac00fbb92a6ffadab84
    2378afe8e0
  128. Merge bitcoin/bitcoin#22003: txmempool: add thread safety annotations
    793b2682841b0bdd7eb93163e34728765cfe52b2 txmempool: add thread safety annotations (Anthony Towns)
    
    Pull request description:
    
      Add missing thread safety guards to CTxMempool members.
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 793b2682841b0bdd7eb93163e34728765cfe52b2
      hebasto:
        re-ACK 793b2682841b0bdd7eb93163e34728765cfe52b2, only suggested changes since my [previous](https://github.com/bitcoin/bitcoin/pull/22003#pullrequestreview-664529633) review.
    
    Tree-SHA512: c5eb197c63375c80c325a276f322177e84e0181c94a124720b1a364e964ac223fc6fdfd89bd0e152b76959fb6b97bfbf82dd36ec105ed6e2dc045ede717df4ae
    6887f7bc36
  129. Merge bitcoin/bitcoin#21936: fuzz: Terminate immediately if a fuzzing harness tries to create a TCP socket (belt and suspenders)
    393992b049d3bcf0b2a3439be128d13d6567f0b1 fuzz: Terminate immediately if a fuzzing harness ever tries to create a TCP socket (belt and suspenders) (practicalswift)
    
    Pull request description:
    
      Terminate immediately if a fuzzing harness ever to create a TCP socket (belt and suspenders).
    
      Obviously this _should_ never happen, but if it _does_ happen we want immediate termination instead of a TCP socket :)
    
    ACKs for top commit:
      MarcoFalke:
        ACK 393992b049d3bcf0b2a3439be128d13d6567f0b1
    
    Tree-SHA512: 5bbff1f7e9a58b3eae24f742b7daf3fc870424c985f29bed5931e47a708d9c0984bfd8762f43658cffa9c69d32f86d56deb48bc7e43821e3398052174b6a160e
    51b3c565d4
  130. Merge bitcoin/bitcoin#22004: fuzz: Speed up transaction fuzz target
    bbbb51877a96c3473aeea5914f751eec7835b5c4 fuzz: Speed up transaction fuzz target (MarcoFalke)
    
    Pull request description:
    
      `hashBlock` and `include_addresses` are orthogonal, so no need to do an exhaustive "search".
    
      Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34491
    
    ACKs for top commit:
      practicalswift:
        cr ACK bbbb51877a96c3473aeea5914f751eec7835b5c4: patch looks correct, and `TxToUniv` surprisingly wide in the `transaction_fuzz_target` flame graph! Putting it on a diet makes sense.
    
    Tree-SHA512: 1e7c30c7fecf96364a9a1597c0a22139389fdeb67db59f3c2c6fc088196e3332877b2865991a957980d542f99a2f48cc066dd7cc16c695a5113190fe06205089
    a9351c9844
  131. Update transaction.cpp 2ed85591a6
  132. add compat to cli for libevent getrandom wrap fix f89e8f429d
  133. Update Makefile.am d2e70b6fa9
  134. Merge #21953: fuzz: Add utxo_snapshot target 0ade921c40
  135. Merge bitcoin/bitcoin#22002: Fix crash when parsing command line with -noincludeconf=0
    fad0867d6ab9430070aa7d60bf7617a6508e0586 Cleanup -includeconf error message (MarcoFalke)
    fa9f711c3746ca3962f15224285a453744cd45b3 Fix crash when parsing command line with -noincludeconf=0 (MarcoFalke)
    
    Pull request description:
    
      The error message has several issues:
    
      * It may crash instead of cleanly shutting down, when `-noincludeconf=0` is passed
      * It doesn't quote the value
      * It includes an erroneous trailing `\n`
      * It is redundantly mentioning `"-includeconf cannot be used from commandline;"` several times, when once should be more than sufficient
    
      Fix all issues by:
      * Replacing `get_str()` with `write()` to fix the crash and quoting issue
      * Remove the `\n` and only print the first value to fix the other issues
    
      Before:
    
      ```
      $ ./src/bitcoind -noincludeconf=0
      terminate called after throwing an instance of 'std::runtime_error'
        what():  JSON value is not a string as expected
      Aborted (core dumped)
    
      $ ./src/bitcoind -includeconf='a b' -includeconf=c
      Error: Error parsing command line arguments: -includeconf cannot be used from commandline; -includeconf=a b
      -includeconf cannot be used from commandline; -includeconf=c
      ```
    
      After:
    
      ```
      $ ./src/bitcoind -noincludeconf=0
      Error: Error parsing command line arguments: -includeconf cannot be used from commandline; -includeconf=true
    
      $ ./src/bitcoind -includeconf='a b' -includeconf=c
      Error: Error parsing command line arguments: -includeconf cannot be used from commandline; -includeconf="a b"
      ```
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34493
    
      Testcase: https://github.com/bitcoin/bitcoin/files/6515429/clusterfuzz-testcase-minimized-system-6328535926046720.log
    
      ```
      FUZZ=system ./src/test/fuzz/fuzz ./clusterfuzz-testcase-minimized-system-6328535926046720.log
      ```
    
      See https://github.com/bitcoin/bitcoin/blob/master/doc/fuzzing.md
    
    ACKs for top commit:
      sipa:
        utACK fad0867d6ab9430070aa7d60bf7617a6508e0586
    
    Tree-SHA512: b44af93be6bf71b43669058c1449c4c6999f03b5b01b429851b149b12d77733408cb207e9a3edc6f0bffd6030c4c52165e8e23a1c2718ff5082a6ba254cc94a4
    2613f8a1ea
  136. Merge bitcoin/bitcoin#21945: test: add P2PK support to MiniWallet
    4bea30169218e2f21e0c93a059966b41c8edd205 test: use P2PK-MiniWallet for feature_csv_activation.py (Sebastian Falbesoner)
    dc7eb64e83f5b8e63f12729d5f77b1c920b136e4 test: MiniWallet: add P2PK support (Sebastian Falbesoner)
    
    Pull request description:
    
      This PR adds support for creating and spending transactions with raw pubkey (P2PK) outputs to MiniWallet, [as suggested by MarcoFalke](https://github.com/bitcoin/bitcoin/pull/21900#discussion_r629524841). Using that  mode in the test `feature_csv_activation.py`, all txs submitted to the mempool follow the standard policy, i.e. `-acceptnonstdtxn=1` can be removed.
    
      Possible follow-ups:
      * Improve MiniWallet constructor Interface; an enum-like parameter instead of two booleans would probably be better
      * Look at other tests that could benefit from P2PK (e.g. feature_cltv.py?)
      * Check vsize also for P2PK txs (vsize varies due to signature, i.e. a range has to be asserted)
    
    ACKs for top commit:
      laanwj:
        Code review ACK 4bea30169218e2f21e0c93a059966b41c8edd205
    
    Tree-SHA512: 9b428e6b7cfde59a8c7955d5096cea88af1384a5f49723f00052e9884d819d952d20a5ab39bb02f9d8b6073769c44462aa265d84a33e33da33c2d21670c488a6
    764ff1f002
  137. Merge #21850: Remove GetDataDir(net_specific) function d1ca32072e
  138. Update validation.cpp 5b638c626f
  139. Merge #21848: refactor: Make CFeeRate constructor architecture-indepe… 651ed10a8f
  140. Merge #21186: net/net processing: Move addr data into net_processing 8945437719
  141. Merge #22013: net: ignore block-relay-only peers when skipping DNS seed fd31a503bf
  142. Merge #21239: guix: Add codesignature attachment support for osx+win 77a6901abf
  143. fix test 2323ddddd0
  144. Update macdeployqtplus 5ff494c87f
  145. Update macdeployqtplus ef0b543fa2
  146. Merge bitcoin/bitcoin#22048: test: MiniWallet: introduce enum type for output mode
    6cebac598e5e85eadd60eb1274d7f33d63ce1108 test: MiniWallet: introduce enum type for output mode (Sebastian Falbesoner)
    
    Pull request description:
    
      This is a follow-up PR to #21945 which lifted the number of MiniWallet's tx output modes from 2 to 3 (by adding P2PK Support).
      Since the current way of specifying the mode on the ctor via two booleans is ugly and error-prone (see table in comment https://github.com/bitcoin/bitcoin/pull/21945#issuecomment-842526575), a new Enum type `MiniWalletMode` is introduced that can hold the following values:
    
      - ADDRESS_OP_TRUE
      - RAW_OP_TRUE
      - RAW_P2PK
    
      Also adds documentation that should guide the user on which mode is useful for what etc. with a summary table. (Can also be split up in a separate commit or shortened if that is desired, maybe it's considered to be too verbose).
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 6cebac598e5e85eadd60eb1274d7f33d63ce1108
    
    Tree-SHA512: cbbc10806d9d9e62829548094415e9f1a281cd247b9a9fc7f7f33b923c723aa03e7bc3024623a77fb1f7da4d73455fa8244840f746980d32acdad97ee12100da
    2a269095ea
  147. Merge #21992: p2p: Remove -feefilter option 071064777d
  148. Merge bitcoin/bitcoin#22021: rpc: bumpfee/psbtbumpfee fixes and updates
    4f504f826bcbb1a4aa4701e87cb68da4ca05b857 rpc: fix code comment for bumpfee/psbtbumpfee output (Jon Atack)
    5cb7ac23fb97a0cbc75b7eef0951da0e0bc5292b rpc: fix docs for bumpfee psbt update (Jon Atack)
    
    Pull request description:
    
      Follow-up to #21544 and #20891 for the `bumpfee_helper` used for RPCs bumpfee and psbtbumpfee:
      - "psbt" field is only returned in psbtbumpfee and not bumpfee
      - bumpfee raises if private keys are disabled, so the txid help "Only returned when wallet private keys are enabled." no longer makes sense; remove it
      - add missing space in RPC examples ("Bump the fee, get the new transaction'stxid")
      - update txid/psbt code comments
    
    ACKs for top commit:
      klementtan:
        ACK [`4f504f8`](https://github.com/bitcoin/bitcoin/pull/22021/commits/4f504f826bcbb1a4aa4701e87cb68da4ca05b857)
    
    Tree-SHA512: 194faf8af52383eb8ac5cd22825265931bcde135dac79d8ecc4f84f698070da9b9373c00eef8623961881bb293157c7c9a0d71d1bcccf481ae3605a2d1444ed8
    ddb28d1120
  149. Merge bitcoin/bitcoin#22043: rpc, test: addpeeraddress test coverage, code simplify/constness
    b36e0cd1b9d361ac6f9777c09328a13e9ee923be rpc: simplify addpeeraddress and improve code constness (Jon Atack)
    6b1926cf1eac1ad1850599d2753dd22bc21fd327 test: addpeeraddress functional test coverage (Jon Atack)
    
    Pull request description:
    
      - Add functional test coverage for rpc addpeeraddress
      - Simplify addpeeraddress and improve code constness
    
    ACKs for top commit:
      klementtan:
        ACK [`b36e0cd`](https://github.com/bitcoin/bitcoin/pull/22043/commits/b36e0cd1b9d361ac6f9777c09328a13e9ee923be)
      MarcoFalke:
        review ACK b36e0cd1b9d361ac6f9777c09328a13e9ee923be 💭
    
    Tree-SHA512: 01773fb70f23db5abf46806bb27804e48feff27272b2e6582bd5b886e9715088eb2d84755106bce2ad6f88e21582f7f071a30a89d5b17286d899c3dd8553b4fc
    665922fd90
  150. Merge bitcoin/bitcoin#21788: build: Silence [-Wunused-command-line-argument] warnings
    e9f948c72790136656df6056fd9e3698f360e077 build: Convert warnings into errors when testing for -fstack-clash-protection (Hennadii Stepanov)
    
    Pull request description:
    
      Apple clang version 12.0.5 (clang-1205.0.22.9) that is a part of Xcode 12.5, and is based on LLVM clang 11.1.0, fires spammy warnings:
    
      ```
      clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
      ```
    
      From the https://github.com/apple/llvm-project:
      ```
      $ git log --oneline | grep 'stack-clash-protection'
      00065d5cbd02 Revert "-fstack-clash-protection: Return an actual error when used on unsupported OS"
      4d59c8fdb955 -fstack-clash-protection: Return an actual error when used on unsupported OS
      df3bfaa39071 [Driver] Change -fnostack-clash-protection to  -fno-stack-clash-protection
      68e07da3e5d5 [clang][PowerPC] Enable -fstack-clash-protection option for ppc64
      515bfc66eace [SystemZ] Implement -fstack-clash-protection
      e67cbac81211 Support -fstack-clash-protection for x86
      454621160066 Revert "Support -fstack-clash-protection for x86"
      0fd51a4554f5 Support -fstack-clash-protection for x86
      658495e6ecd4 Revert "Support -fstack-clash-protection for x86"
      e229017732bc Support -fstack-clash-protection for x86
      b03c3d8c6209 Revert "Support -fstack-clash-protection for x86"
      4a1a0690ad68 Support -fstack-clash-protection for x86
      f6d98429fcdb Revert "Support -fstack-clash-protection for x86"
      39f50da2a357 Support -fstack-clash-protection for x86
      ```
    
      I suppose, that Apple clang-1205.0.22.9 ends with on of the "Revert..." commits.
    
      This PR prevents using of the `-fstack-clash-protection` flag if it causes warnings.
    
      ---
    
      System: macOS Big Sur 11.3 (20E232).
    
    ACKs for top commit:
      jarolrod:
        re-ACK e9f948c72790136656df6056fd9e3698f360e077
      Sjors:
        tACK e9f948c72790136656df6056fd9e3698f360e077 on macOS 11.3.1
    
    Tree-SHA512: 30186da67f9b0f34418014860c766c2e7f622405520f1cbbc1095d4aa4038b0a86014d76076f318a4b1b09170a96d8167c21d7f53a760e26017f486e1a7d39d4
    73b026a806
  151. Merge bitcoin/bitcoin#22057: test: use MiniWallet (P2PK mode) for feature_dersig.py
    3e05a57297ddc9c55604a41e50a7a94d220db7ee test: use MiniWallet (P2PK mode) for feature_dersig.py (Sebastian Falbesoner)
    
    Pull request description:
    
      This PR enables one more of the non-wallet functional tests (feature_dersig.py) to be run even with the Bitcoin Core wallet disabled. A valid DER-signature is created by using the recently introduced P2PK-Mode of the MiniWallet (#21945).
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 3e05a57297ddc9c55604a41e50a7a94d220db7ee
    
    Tree-SHA512: 0fb8da8ed8b47f68bcb57301eb4f0171a6c9e44539b7554626969347e5d6f80b3b9085f2cc160cd038a990f0d81b8b614846260fbed43b5f950d77f1b7aa81cf
    2e05ad958f
  152. Merge bitcoin-core/gui#297: Avoid unnecessary translations 264fad0b67
  153. Merge bitcoin/bitcoin#22061: ci: Bump multiprocess memory
    fa0bfc5239824e26f07ddef04aad5be947cde2a0 ci: Bump multiprocess memory (MarcoFalke)
    
    Pull request description:
    
      Fixes #22059
    
    ACKs for top commit:
      ryanofsky:
        Code review ACK fa0bfc5239824e26f07ddef04aad5be947cde2a0. Thanks for the update, and interesting to know about #21869. It looks like relevant build https://cirrus-ci.com/task/4807455453478912 is succeeding too
      fanquake:
        ACK fa0bfc5239824e26f07ddef04aad5be947cde2a0
    
    Tree-SHA512: f6e49aadf33199ffa7960c8da0b81bdc5ffea61f373e1b0367d000cdbd214614374b9f1a8b3ce9b8270e6d13a24a2029ab07bddb48e44c86dcb687d645e5ef34
    1735ab3353
  154. Merge bitcoin/bitcoin#22056: doc: describe in fuzzing.md how to reproduce a CI crash
    d8f1ea7227260e51c340271fc9a43866799b8ac4 doc: describe in fuzzing.md how to reproduce a CI crash (Jon Atack)
    
    Pull request description:
    
      Not sure if this is 100% accurate or missing any pertinent info, but I misremembered how to do this today and it seems like useful information to provide.
    
    ACKs for top commit:
      practicalswift:
        ACK d8f1ea7227260e51c340271fc9a43866799b8ac4
    
    Tree-SHA512: 1b74e4187e6ea13b04eb03b3c6e2615c4eb18cc38cce215ad1645f8b135c5c31a243748eb313ccec05f1f62187ba33d550119acf07088968d2d2c1c09bc4c653
    c133319bb7
  155. Merge bitcoin/bitcoin#22069: fuzz: don't try and use fopencookie() when building for Android
    1be6267ce1ee142c3b90baed1925a82eab6514aa fuzz: don't try and use fopencookie when building for Android (fanquake)
    
    Pull request description:
    
      When building for Android, `_GNU_SOURCE` will be defined:
      ```bash
      /home/ubuntu/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang++ -dM -E -x c++ - < /dev/null
      #define _GNU_SOURCE 1
      #define _LP64 1
      #define __AARCH64EL__ 1
      #define __AARCH64_CMODEL_SMALL__ 1
      #define __ANDROID_API__ 30
      #define __ANDROID__ 1
      #define __ARM_64BIT_STATE 1
      .....
      ```
      but it doesn't have the [`fopencookie()` function](https://www.gnu.org/software/libc/manual/html_node/Streams-and-Cookies.html), or define the `cookie_io_functions_t` type, which results in compile failures:
      ```bash
      In file included from test/fuzz/addition_overflow.cpp:7:
      ./test/fuzz/util.h:388:15: error: unknown type name 'cookie_io_functions_t'
              const cookie_io_functions_t io_hooks = {
                    ^
      15 warnings and 1 error generated.
      ```
    
      Just skip trying to use it if we are building for Android. Should fix #22062.
    
    ACKs for top commit:
      practicalswift:
        cr ACK 1be6267ce1ee142c3b90baed1925a82eab6514aa
    
    Tree-SHA512: d62f63d0624af04b76c7e07b0332c71eca2bf9cd9e096a60aea9e212b7bbc1548e9fa9a76d065ec719bb345fe8726619c3bd2d0631f54d877c82972b7b289321
    2d357c24e8
  156. Merge #22042: Replace size/weight estimate tuple with struct for name… ddb2d59885
  157. Merge bitcoin/bitcoin#21966: Remove double serialization; use software encoder for fee estimation
    66545da2008cd9e806e41b74522ded259cd64f86 Remove support for double serialization (Pieter Wuille)
    fff1cae43af959a601cf2558cb3c77f3c2b1aa80 Convert uses of double-serialization to {En,De}codeDouble (Pieter Wuille)
    afd964d70b6f7583ecf89c380f80db07f5b66a60 Convert existing float encoding tests (Pieter Wuille)
    bda33f98e2f32f2411fb0a8f5fb4f0a32abdf7d4 Add unit tests for serfloat module (Pieter Wuille)
    2be4cd94f4c7d92a4287971233a20d68db81c9c9 Add platform-independent float encoder/decoder (Pieter Wuille)
    e40224d0c77674348bf0a518365208bc118f39a4 Remove unused float serialization (MarcoFalke)
    
    Pull request description:
    
      Based on #21981.
    
      This adds a software-based platform-independent float/double encoder/decoder (platform independent in the sense that it only uses arithmetic and library calls, but never inspects the binary representation). This should strengthen our guarantee that encoded float/double values are portable across platforms. It then removes the functionality to serialize doubles from serialize.h, and replaces its only (non-test) use for fee estimation data serialization with the software encoder.
    
      At least on x86/ARM, the only difference should be how certain NaN values are encoded/decoded (but not *whether* they are NaN or not).
    
      It comes with tests that verify on is_iec559 platforms (which are the only ones we support, at least for now) that the serialized bytes exactly match the binary representation of floats in memory (for non-NaN).
    
    ACKs for top commit:
      laanwj:
        Code review re-ACK 66545da2008cd9e806e41b74522ded259cd64f86
      practicalswift:
        cr re-ACK 66545da2008cd9e806e41b74522ded259cd64f86
    
    Tree-SHA512: 62ad9adc26e28707b2eb12a919feefd4fd10cf9032652dbb1ca1cc97638ac21de89e240858e80d293d5112685c623e58affa3d316a9783ff0e6d291977a141f5
    efa10235fa
  158. Merge bitcoin-core/gui#121: Early subscribe core signals in transacti… 8bd2ce346d
  159. Merge #18418: wallet: Increase OUTPUT_GROUP_MAX_ENTRIES to 100 0faef2b905
  160. Merge bitcoin-core/gui#313: qt: Optimize string concatenation by default dffb9c475a
  161. Merge bitcoin-core/gui#311: Peers Window rename 'Peer id' to 'Peer'
    657b33ef2de77acd1061cdf4d1d64d0e086d75df qt: add translator comments for peers table columns (Jarol Rodriguez)
    73a91c63ec72e62ef76fbc857baff14b099a1358 gui: rename "Peer Id" to "Peer" in tab column and details area (Jon Atack)
    
    Pull request description:
    
      Picking up https://github.com/bitcoin-core/gui/pull/290
    
      **Original PR Description:**
      - renames the peers tab column header from `Peer Id` to `Peer` to allow resizing the column more tightly (this will be particularly useful after #256) and does the same for the peer details area.
    
      While here, we also add Qt translator comments for the Peer Table columns.
    
      | Master        | PR               |
      | ----------- | ----------- |
      | ![Screen Shot 2021-05-03 at 1 23 05 AM](https://user-images.githubusercontent.com/23396902/116843818-20a14b00-abaf-11eb-913e-ddff11cda5cd.png) | ![Screen Shot 2021-05-05 at 4 08 45 AM](https://user-images.githubusercontent.com/23396902/117112825-a2cc7380-ad57-11eb-939b-1aceb4214ad1.png) |
    
    ACKs for top commit:
      jonatack:
        utACK 657b33ef2de77acd1061cdf4d1d64d0e086d75df
      hebasto:
        re-ACK 657b33ef2de77acd1061cdf4d1d64d0e086d75df
    
    Tree-SHA512: f50116f7ca8719cadf1f95f45e3594b3b92bde9c43eb954f3e963ed10629dd9406efdb5e96aa1f750a926e24a96321d824ed3780bd9cd748774e0b85fd0c9535
    527de1c174
  162. Merge bitcoin-core/gui#332: Replace disambiguation strings with translator comments
    8b7713365134022475e7e5d24d3ca73149bd10e1 qt: Replace disambiguation strings with translator comments (Hennadii Stepanov)
    
    Pull request description:
    
      Since https://github.com/bitcoin/bitcoin/pull/21694 is merged, translator comments is the right way to pass context to translators.
    
      This PR fixes changes were made:
      - in #220 before https://github.com/bitcoin/bitcoin/pull/21694
      - in https://github.com/bitcoin/bitcoin/pull/21694 on testing purpose
      - in #125
    
      Closes #288.
    
    ACKs for top commit:
      jarolrod:
        ACK 8b7713365134022475e7e5d24d3ca73149bd10e1
    
    Tree-SHA512: 466ade35f4969a41fbf3196780b1ae9fa810bab5d2f09077f8631604636cc63b24a901c719f6b5797366d2aa307993d0aa419ce35200c8d0a741a3d81cad3e6b
    3714308fff
  163. Merge bitcoin/bitcoin#22063: build: Use Qt archive of the same version as the compiled binaries
    cb7eba2a570e7830d53a21b7d534087c00b4cbd7 build: Use Qt archive of the same version as the compiled binaries (Hennadii Stepanov)
    
    Pull request description:
    
      This PR fixes broken Android APK build when the `depends/sources` directory contains Qt source archives of different versions (e.g., Qt version update [pull request](https://github.com/bitcoin/bitcoin/pull/22054) in CI with the cached `depends/sources` directory).
    
      This is an alternative to #22058.
    
    ACKs for top commit:
      MarcoFalke:
        review ACK cb7eba2a570e7830d53a21b7d534087c00b4cbd7
      laanwj:
        Code review ACK cb7eba2a570e7830d53a21b7d534087c00b4cbd7
    
    Tree-SHA512: cf63a9809fba5cb13719d7e7bb5afc718a2cff5233b0670d30d30a0018d91278fcfc2a1b9ae8b84e8e3a52c95157bc465603cc754bb8a9d1a3d62415f01ad70f
    580eedf999
  164. Merge bitcoin-core/gui#346: English translations update e627fe456b
  165. Merge bitcoin/bitcoin#22029: [fuzz] Improve transport deserialization fuzz test coverage
    e33714557747dd479f123425aa2dd08d272ef377 [fuzz] Occasional valid magic bytes for transport serialization test (Dhruv Mehta)
    35571d8d9ec112bd7b6741d10052dded08410c77 [fuzz] Occasional valid checksum for transport serialization fuzz test (Dhruv Mehta)
    654472a461bc9d1603c46dcb7a5b2dc87a44045a [fuzz] Add serialization to deserialization test (Dhruv Mehta)
    
    Pull request description:
    
      This PR has 3 commits that increase the fuzz test coverage:
    
      Before commit 1:
      ```
      #306853 REDUCE cov: 798 ft: 5820 corp: 150/375Kb lim: 68333 exec/s: 1382 rss: 461Mb L: 254/63171 MS: 1 EraseBytes-
      #1453105 REDUCE cov: 798 ft: 5820 corp: 150/369Kb lim: 79613 exec/s: 1467 rss: 461Mb L: 6027/60873 MS: 1 EraseBytes-
      ```
    
      After commit 1 (adds serialization to de-serialization test):
      ```
      #303389 NEW cov: 1202 ft: 8382 corp: 157/382Kb lim: 68189 exec/s: 1451 rss: 447Mb L: 1386/65459 MS: 1 CopyPart-
      #1428759 REDUCE cov: 1202 ft: 8512 corp: 169/389Kb lim: 78749 exec/s: 1528 rss: 463Mb L: 1627/60488 MS: 1 EraseBytes-
      ```
    
      After commit 2 (provides an occasional checksum assist to the fuzzer inputs):
      ```
      #304820 NEW cov: 1440 ft: 4452 corp: 92/12551b lim: 2237 exec/s: 3386 rss: 486Mb L: 47/1111 MS: 1 ChangeByte-
      #1416181 REDUCE cov: 1442 ft: 5681 corp: 125/59Kb lim: 4096 exec/s: 3522 rss: 535Mb L: 2164/4049 MS: 1 EraseBytes-
      ```
    
      After commit 3 (provides an occasional magic bytes assist to the fuzzer inputs):
      ```
      #302684 NEW cov: 1454 ft: 3936 corp: 84/7056b lim: 2424 exec/s: 4146 rss: 477Mb L: 65/1108 MS: 3 CopyPart-CrossOver-CMP- DE: "\x0e\x00\x00\x00"-
      #1383925 REDUCE cov: 1454 ft: 4828 corp: 102/14573b lim: 4096 exec/s: 3954 rss: 534Mb L: 116/4050 MS: 2 EraseBytes-ChangeByte-
      ```
    
      If reviewers only accept the first commit, the seeds are not invalidated and new seeds are at: https://github.com/bitcoin-core/qa-assets/pull/61. In this case, we can also revert the test name change.
    
      If reviewers accept all three commits, the existing seeds are invalidated.
    
    ACKs for top commit:
      practicalswift:
        Tested ACK e33714557747dd479f123425aa2dd08d272ef377
    
    Tree-SHA512: d37f06eea0249322b00a99c4827359eb53aeb711751e5571f4681eeca06dc257e0c4cd4887150fc37cc2f689e26986112d768066ad274361615ba9b6a522c61a
    2041fface3
  166. Merge #22025: refactor: Group and re-order CAddrMan members by access… f8c7c25a8d
  167. compile 2b1c346200
  168. unique child NFT + assetsend memo functionality + extend memo to 256 byte
    this will allow NFT's to be required to be unique, currently NFTID's were not enforced uniqueness which isn't desired behaviour.
    
    Assetsend memo will give abilty to have one memo for multiple NFT issuances for efficiency. Multi-memo 1 per NFT strategy is still recommended to do an allocation first then send memo from there to create the NFT asset metadata.
    
    We extend from 80 byte to 256 byte for memo to allow for longer URLs.
    ff284e81b8
  169. Merge #20833: rpc/validation: enable packages through testmempoolaccept 09fd8fccd1
  170. fix test d01092cf85
  171. fix dup nft check de712da400
  172. Update rpc_packages.py 63b091114b
  173. Merge bitcoin/bitcoin#22071: depends: latest config.guess and config.sub
    7e2a9890e50969cdfdd08d735fa8f3c611a663a7 depends: latest config.sub (2021-04-30) (fanquake)
    f16d4cd8c5412890ee0b73f4ef142b59d130e5d5 depends: latest config.guess (2021-05-24) (fanquake)
    
    Pull request description:
    
      This is split out of #21851. Updating these files should be mechanical, and shouldn't have to wait for that PR. Also, having support in depends for the new `arm-apple-darwin` target (added in [2593751ef276497e312d7c4ce7fd049614c7bf80](https://git.savannah.gnu.org/cgit/config.git/commit/?id=2593751ef276497e312d7c4ce7fd049614c7bf80)) is useful when debugging. i.e #22070.
    
      If you try and compile depends for a `arm-apple-darwin` target using master, on a x86_64 darwin machine, currently you'll get:
      ```bash
      gmake -C depends -j9 HOST=arm64-apple-darwin
      Invalid configuration `arm64-apple-darwin': machine `arm64-apple' not recognized
      shasum: hosts/.mk: No such file or directory
      <omitted>
      Makefile:111: hosts/.mk: No such file or directory
      gmake: *** No rule to make target 'hosts/.mk'.  Stop.
      ```
    
    ACKs for top commit:
      laanwj:
        ACK 7e2a9890e50969cdfdd08d735fa8f3c611a663a7
    
    Tree-SHA512: 8ed99b5d486c6cbca8929a752460338b6ee17f6bf93013c76589605678853c3a01ebd631b4d3f5d6aaeb6e5c21b7bbe39afc4454d3a697fafb27678f6d2c021e
    fe015c2f26
  174. Merge bitcoin/bitcoin#22078: Add src/qt/android/.gitignore
    7d07192ddeaad28a26e3c4a54757a4f27f2a08ff Add src/qt/android/.gitignore (Hennadii Stepanov)
    
    Pull request description:
    
      This PR makes `git` ignore files created by `make apk`.
    
    ACKs for top commit:
      icota:
        ACK https://github.com/bitcoin/bitcoin/pull/22078/commits/7d07192ddeaad28a26e3c4a54757a4f27f2a08ff
    
    Tree-SHA512: 4be20bd84830217a10d8ea7634799e71ed50be73f4f60c91c56311a2c95b22ff1f28d3b7bc077f1417318bb75e446e3fc3bdbf9dbc037b4cbc8428f0875f2c77
    677d2e8ffa
  175. Merge bitcoin-core/gui#275: Support runtime appearance adjustment on macOS 69d49c82b1
  176. Merge bitcoin-core/gui#343: Improve the GUI responsiveness when progress dialogs are used
    4935ac583bbdc289dd31a1caae3d711edef742b6 qt: Improve GUI responsiveness (Hennadii Stepanov)
    75850106aeecfed1d2dc16d8a67ec210c5826a47 qt, macos: Fix GUIUtil::PolishProgressDialog bug (Hennadii Stepanov)
    
    Pull request description:
    
      [`QProgressDialog`](https://doc.qt.io/qt-5/qprogressdialog.html) estimates the time the operation will take (based on time for steps), and only shows itself if that estimate is beyond [`minimumDuration`](https://doc.qt.io/qt-5/qprogressdialog.html#minimumDuration-prop).
    
      The default `minimumDuration` value is [4 seconds](https://doc.qt.io/qt-5/qprogressdialog.html#details), and it could make users think that the GUI is frozen.
    
      This PR sets `minimumDuration` to zero for all progress dialogs, that affects ones in the `WalletControllerActivity` class.
    
    ACKs for top commit:
      ryanofsky:
        Code review ACK 4935ac583bbdc289dd31a1caae3d711edef742b6. I'm not very familiar with this API but all the changes and explanations make sense and are very clear, and this seems like it should be an improvement.
      promag:
        Code review ACK 4935ac583bbdc289dd31a1caae3d711edef742b6.
      jarolrod:
        ACK 4935ac583bbdc289dd31a1caae3d711edef742b6
    
    Tree-SHA512: 2ddd74e7fd87894d341d2439dbaa544d031a350f7f57d4c7e9fbba977dc24080fe60fd7a80a542b1647f1de9091d7fd04a36eab695088d4d75fb836548e99b5f
    d4b2be303e
  177. Merge #21207: MOVEONLY: CWallet transaction code out of wallet.cpp/.h 665fbb6313
  178. Merge bitcoin/bitcoin#22070: build: don't use cf-protection when targeting arm-apple-darwin
    3caedb4c0351f99d1ef74e8fc9d4e276361ce90a build: don't use cf-protection when targeting arm-apple-darwin (fanquake)
    
    Pull request description:
    
      After two reports on IRC of issues building depends on an Apple M1 machine, this option (obviously) can't be used when targeting `arm-apple-darwin`.  For now, just use it for `x86_64-apple-darwin`.
    
      ```bash
      Apple clang version 12.0.5 (clang-1205.0.22.9)
      Target: x86_64-apple-darwin20.4.0
    
      error: option 'cf-protection=return' cannot be specified on this target
      error: option 'cf-protection=branch' cannot be specified on this target
      2 errors generated.
      ```
    
    ACKs for top commit:
      promag:
        Tested ACK 3caedb4c0351f99d1ef74e8fc9d4e276361ce90a.
    
    Tree-SHA512: 8763a5b94000016b0c2f0438e66002fdfcd2cbafd9d2d2acc1972f0c6f707e820186711dbd9d3f72673c179718da75588acb4732f8d84b85f0c1dfc862b6e944
    f6ab81bfad
  179. Merge bitcoin/bitcoin#22103: test: Fix IPv6 check on BSD systems
    2be35725069fd4c589497b93e09e1c6db6946372 test: Fix IPv6 check on BSD systems (nthumann)
    
    Pull request description:
    
      I noticed that `test_ipv6_local()` always returns `False` on macOS or FreeBSD, even though IPv6 is working perfectly fine. This causes `test/functional/rpc_bind.py --ipv6` and `test/functional/feature_proxy.py` to skip their run.
      Apparently, there's a check if the port number is `0` (see [here](https://github.com/freebsd/freebsd-src/blob/64881da478071431a2d9e62613997a5772c56cdf/sys/netinet6/udp6_usrreq.c#L248) or [here](https://github.com/apple/darwin-xnu/blob/8f02f2a044b9bb1ad951987ef5bab20ec9486310/bsd/netinet6/udp6_usrreq.c#L282)), while Linux has no problem with this.
      This is fixed by specifying any other port number than `0`, e.g. `1`. Still, because of `SOCK_DGRAM`, no actual connection is made.
    
    ACKs for top commit:
      fanquake:
        ACK 2be35725069fd4c589497b93e09e1c6db6946372 - nice improvement. I checked that with this change ipv6 related tests in `feature_proxy.py` are being run.
      theStack:
        ACK 2be35725069fd4c589497b93e09e1c6db6946372
    
    Tree-SHA512: 8417c2d3cf71050529f3fa409a03872040fe5d249eae4172f276e62156e505a20d375b963712a186c9ad7967d8a497b5900d327c74a9693f68c33063871d4691
    e0c757c68a
  180. Merge #21989: test: Use COINBASE_MATURITY in functional tests 7e95636c46
  181. Merge bitcoin/bitcoin#22095: test: Additional BIP32 test vector for hardened derivation with leading zeros
    91ef8344d4de28b0a659401ef5fefee6c3d9f7ae Additional test vector for hardened derivation with leading zeros (Kristaps Kaupe)
    
    Pull request description:
    
      See [Inconsistent BIP32 Derivations](https://blog.polychainlabs.com/bitcoin,/bip32,/bip39,/kdf/2021/05/17/inconsistent-bip32-derivations.html) and https://github.com/bitcoin/bips/pull/1030.
    
    ACKs for top commit:
      practicalswift:
        cr ACK 91ef8344d4de28b0a659401ef5fefee6c3d9f7ae
      sipa:
        ACK 91ef8344d4de28b0a659401ef5fefee6c3d9f7ae. Verified that it matches the linked BIP32 update, and that it indeed tests derivation from a private key with leading 0 byte.
    
    Tree-SHA512: 0a3ae7aed15e4e08e9bec5db8de53c6c03ed3b3632f390394eea422597755173cbd2228ff0cfa57f5aae3df9d4cdf03a8ef4725cc8bce86ab7d9c82ab9d479ad
    63b003598e
  182. Merge bitcoin/bitcoin#22080: doc: add maxuploadtarget to bitcoin.conf example
    947f9734daab4e47c0abdc6ef7d52812102ecb6b doc: add maxuploadtarget to bitcoin.conf example (apitko)
    
    Pull request description:
    
      picking up #21499, author has stated they [can't squash](https://github.com/bitcoin/bitcoin/pull/21499#issuecomment-849277632).
    
      This adds the maxuploadtarget option to the `bitcoin.conf` example file. This is useful for those looking to configure their bandwidth utilization.
    
      **Changes from Original PR:**
      - squash commits
      - fix typo in commit message + reword commit message to be more appropriate
      - Implement review suggestions ([1](https://github.com/bitcoin/bitcoin/pull/21499#discussion_r615409982), [2](https://github.com/bitcoin/bitcoin/pull/21499#discussion_r615410337), [3](https://github.com/bitcoin/bitcoin/pull/21499#pullrequestreview-659357756))
      - Fix spacing
    
    ACKs for top commit:
      jonatack:
        ACK 947f9734daab4e47c0abdc6ef7d52812102ecb6b
      theStack:
        re-ACK 947f9734daab4e47c0abdc6ef7d52812102ecb6b
    
    Tree-SHA512: 658ce6e1f204cd1c1c6f8977fd46ba1631f417d3f492e6d777b0ca49ffecc2ecfa4fbd86ca0e08c0dd5d6df4e32f0b56693e0a71bd7eafafd019e93bbcf9420f
    6d84a579a6
  183. Merge bitcoin-core/gui#309: Add access to the Peers tab from the netw… eec08334c0
  184. Merge #22109: doc: Fix external links (IRC, ...) 2538deb15c
  185. Merge bitcoin-core/gui#331: Make RPC console welcome message translation-friendly
    0f3d955a38fe59a4e8cc4bf9f4442e6e1fd8bcbb qt: Make RPC console welcome message translation-friendly (Hennadii Stepanov)
    
    Pull request description:
    
      The best practice is do not split a translatable multi-line message into single lines. This helps translators to follow the context.
    
    ACKs for top commit:
      jarolrod:
        re-ACK 0f3d955a38fe59a4e8cc4bf9f4442e6e1fd8bcbb
    
    Tree-SHA512: 30911ff3a972a7787804bb8b27d0b77bfff15939bb478c199261866bfb55d9acd12ab4d44b8b9fc1d4898222cabc4007cc897f9b65728924d121f31e914c44ac
    df929d8c85
  186. Merge bitcoin-core/gui#123: rpc: Do not accept command while executing another one
    38eb37c0bd29b4cb825de905e8eec87636a5221b qt, rpc: Do not accept command while executing another one (Hennadii Stepanov)
    0c32b9c5273a4933bda90aa9eb9b7eace6dcaa14 qt, rpc: Accept stop RPC even another command is executing (Hennadii Stepanov)
    ccf790287c53edbc7b18983e07f520823436c003 qt, rpc, refactor: Return early in RPCConsole::on_lineEdit_returnPressed (Hennadii Stepanov)
    5b9c8c9cdd8e12d2e477840df9d6ab809a613c12 qt, rpc: Add "Executing…" message (Hennadii Stepanov)
    
    Pull request description:
    
      On master (3f512f3d563954547061ee743648b57a900cbe04) it is possible to enter another command while the current command is still being executed. That makes a mess in the output.
    
      With this PR:
      ![Screenshot from 2020-10-29 20-48-55](https://user-images.githubusercontent.com/32963518/97619690-329c0880-1a29-11eb-9f5b-6ae3c02c13b2.png)
    
      Some previous context: https://github.com/bitcoin-core/gui/pull/59#issuecomment-715275185
    
      ---
    
      It is still possible to enter and execute the `stop` command any time.
    
    ACKs for top commit:
      jarolrod:
        ACK  38eb37c
      promag:
        Tested ACK 38eb37c0bd29b4cb825de905e8eec87636a5221b.
    
    Tree-SHA512: 2b37a4b6838bf586b1b5c878192106721f713caeb6252514a6540356aab898986396e0777e73891d331b1be797a4926c20d3f9f38ba2c984ea90d55b0c34f664
    f42b4dd719
  187. Merge #22107: scripted-diff: rename GetSystemTimeInSeconds to GetTime… f981a4f522
  188. Merge #21969: refactor: Switch serialize to uint8_t (Bundle 1/2) 579436d522
  189. Merge bitcoin/bitcoin#22005: fuzz: Speed up banman fuzz target
    fae0f836be57f466b5df094421c9fbf55fd8a2ed fuzz: Speed up banman fuzz target (MarcoFalke)
    
    Pull request description:
    
      Hopefully fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34463
    
    ACKs for top commit:
      practicalswift:
        cr ACK fae0f836be57f466b5df094421c9fbf55fd8a2ed: patch looks correct and touches only `src/test/fuzz/banman.cpp`
    
    Tree-SHA512: edbad168c607d09a5f4a29639f2d0b852605dd61403334356ad35a1eac667b6ce3922b1b316fdf37a991195fbc24e947df9e37359231663f8a364e5889e28417
    2e82b23594
  190. Merge #21767: [Bundle 6/n] Prune g_chainman usage in auxiliary modules 8934617ada
  191. Merge bitcoin/bitcoin#22113: test: minor cleanups in feature_cltv.py
    7e32fde912b3924fdb27ec1f658ac11fcf160b3e test: feature_cltv.py: don't return tx copies in modification functions (Sebastian Falbesoner)
    9ab2ce0a6673acc7ee0f85158fc087fce0fc7dd8 test: drop unused node parameters in feature_cltv.py (Sebastian Falbesoner)
    0c2139a3f160d1d443460e4c5928109a6ab8cd11 test: fix typo in feature_cltv.py (s/ctlv/cltv/) (Sebastian Falbesoner)
    
    Pull request description:
    
      This tiny PR cleans up the test `feature_cltv.py` in the following ways:
      * fixes a typo (s/ctlv/cltv/); compared to CHECKLOCKTIMEVERIFY, CHECKTIMELOCKVERIFY probably also sounds good and you [even get some search results for it](https://www.google.com/search?q=%22CHECKTIMELOCKVERIFY%22), but it's still wrong ;)
      * drops the unused "node" parameters from the tx modification functions
      * don't return a copy from the tx modification functions; it's modified in-place, hence a copy is not needed and `cltv_validate(tx, ...)` looks more natural than `tx = cltv_validate(tx, ...)`
    
    ACKs for top commit:
      MarcoFalke:
        review ACK 7e32fde912b3924fdb27ec1f658ac11fcf160b3e 📼
    
    Tree-SHA512: d2e6230977442f6a511d0f7c99431a44ad3a423647f4f327ce2ce8efe78bf9616c0d2093f5e3c3550f690dcb3f625ddf53227505c01ced70227425f249c25364
    5b5e2527f1
  192. Merge #21178: test: run mempool_reorg.py even with wallet disabled 2b04a4c46a
  193. Update rest.cpp ee0cb8d283
  194. Convert bitset serializationis to use formatters cb2eac1d21
  195. Merge bitcoin/bitcoin#22106: refactor: address ProcessNewBlock comments from #21713
    e12f287498e5836bb5e32de5abaef02f3d20d868 net: cleanup newly added PeerManagerImpl::ProcessNewBlock (fanquake)
    610151f5b076d4b1ab90c0dd2717e5410aba6b19 validation: change ProcessNewBlock() to take a CBlock reference (fanquake)
    
    Pull request description:
    
      Addresses some [post-merge comments](https://github.com/bitcoin/bitcoin/pull/21713#pullrequestreview-638777410) from #21713. Also makes `ChainstateManager::ProcessNewBlock` take a const reference argument, as it [was asked](https://github.com/bitcoin/bitcoin/pull/21713#discussion_r615229548) why it was not the case in that PR.
    
    ACKs for top commit:
      jnewbery:
        Code review ACK e12f287498e5836bb5e32de5abaef02f3d20d868
      MarcoFalke:
        review ACK e12f287498e5836bb5e32de5abaef02f3d20d868 🚚
    
    Tree-SHA512: 9c3e7353240c862d50bce2a0f58741c109dd628040b56ed46250103f8ebe9009238b131da710486791e28e3a83c985057b7be0a32aed1a929269b43097c7425b
    7b8dd30fd9
  196. Merge bitcoin/bitcoin#22054: depends: Bump Qt version to 5.12.11
    fa416cea84d8f1528fc7ecf9a04654aae75ac3f5 depends: Bump Qt version to 5.12.11 (Hennadii Stepanov)
    
    Pull request description:
    
      Qt 5.12.11:
      - [fixes](https://github.com/qt/qtbase/commit/c5d904639dbd690a36306e2b455610029704d821) macOS related [QTBUG-87014](https://bugreports.qt.io/browse/QTBUG-87014), and the `fix_bigsur_drawing.patch` (which is our workaround for QTBUG-87014) could be dropped
      - [upgrades](https://github.com/qt/qtbase/commit/00326c9dc1ec6c80679347859c2fe01d4837b061) supported macOS SDK to 11.0, and removes related warnings
      - fixes tab widget rendering on macOS Big Sur ([here](https://github.com/qt/qtbase/commit/4d6832d03f31b513ff2e3517197691bedddaccdf) and [here](https://github.com/qt/qtbase/commit/28b015342d000b8487c853153f1d93606d3c2add)):
        - master (5.12.10)
      ![DeepinScreenshot_select-area_20210525122725](https://user-images.githubusercontent.com/32963518/119474470-dd24a180-bd54-11eb-82e6-ca4d39b0b177.png)
      ![DeepinScreenshot_select-area_20210525123634](https://user-images.githubusercontent.com/32963518/119475548-ebbf8880-bd55-11eb-9c13-477016f8c23b.png)
        - this PR (5.12.11)
      ![Screenshot from 2021-05-25 12-28-02](https://user-images.githubusercontent.com/32963518/119474537-ed3c8100-bd54-11eb-8efe-7fe5ccae8a98.png)
    
      Closes https://github.com/bitcoin-core/gui/issues/136.
    
    ACKs for top commit:
      goums:
        ACK fa416cea84d8f1528fc7ecf9a04654aae75ac3f5
      fanquake:
        ACK fa416cea84d8f1528fc7ecf9a04654aae75ac3f5 - merging this now to move it out of the way of other Qt related changes.
    
    Tree-SHA512: 4e621b214f05d12a060757fadf2fa103c09b594d7b1c2ad9200f550e55c1e1fdf66f2f830550e724b9277448e5480be256cb0003f4597902944400e16c4a68b8
    6995f59cd9
  197. Merge #22082: test: update nanobench from release 4.0.0 to 4.3.4 ab725fba3a
  198. Merge bitcoin-core/gui#351: Translations update 73253db473
  199. Merge bitcoin/bitcoin#22086: test: remove BasicTestingSetup from unit tests that don't need it
    6c3fcd5591eb9947f35483014ecb0d8ab217b780 test: remove BasicTestingSetup from util_threadnames unit tests (fanquake)
    b53d3c1b1fd739c314b0b34f361fcd992092fc29 test: remove BasicTestingSetup from uint256 unit tests (fanquake)
    c0497a49281e68b57e2a1e6c48c950b2edc80821 test: remove BasicTestingSetup from torcontrol unit tests (fanquake)
    ef8bb0473be62c07f96eb269b927dcec86c1e862 test: remove BasicTestingSetup from sync unit tests (fanquake)
    1aee83421fe2128757b48f6317a3e7fed784adb6 test: remove BasicTestingSetup from reverse_lock unit tests (fanquake)
    57ba949ef585f8124914c43ea9a53afee201b998 test: remove BasicTestingSetup from policy_fee unit tests (fanquake)
    3974c962b61a1e18f8177ffa30791ad9ad2ba6e4 test: remove BasicTestingSetup from merkleblock tests (fanquake)
    cd5bc4b4708b28cabcfabbcd7f5ba1155f5b1517 test: remove BasicTestingSetup from hash unit tests (fanquake)
    39cec22935302418963cc2e7db4ad2fa9656849d test: remove BasicTestingSetup from compilerbug unit tests (fanquake)
    6d3b78c0e2f427d3a7431885cc175464a527a12a test: remove BasicTestingSetup from bswap unit tests (fanquake)
    a13dc24831e4a2d8e16a41d8c95cdaa8afdec783 test: remove BasicTestingSetup from bech32 unit tests (fanquake)
    f4dcbe4498e55d2ed818b35cd15652fd427b7a7b test: remove BasicTestingSetup from base64 unit tests (fanquake)
    fd144f64265a4752fe36391c51bb6b8ccdff838f test: remove BasicTestingSetup from base32 unit tests (fanquake)
    4c389ba04b36cc2916d49435e07155144882a637 test: remove BasicTestingSetup from arith_uint256 unit tests (fanquake)
    05590651a0b9ebc5f5fdbdcbbc1efe4bf64888d0 test: remove BasicTestingSetup from amount unit tests (fanquake)
    883a5c7d021fe29539d417796a5b07e265f1c696 test: remove BasicTestingSetup from allocator unit tests (fanquake)
    
    Pull request description:
    
      * Less setup/overhead for tests that don't need it. Some naive bench-marking would suggest that a full `test_bitcoin` run is a few % faster after this change.
      * Tests which don't need the BasicTestingSetup can't accidentally end up depending on it somehow.
      * Already the case in at least the scheduler and block_filter tests.
    
      This adds missing includes, but more significant is the removal of `setup_common.h` from tests where it isn't needed. This saves recompiling those tests when changes are made in the header.
    
    ACKs for top commit:
      practicalswift:
        cr ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780: patch looks correct
      laanwj:
        ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780
    
    Tree-SHA512: 69b891e2b4740402d62b86a4fc98c329a432d125971342a6f97334e166b3537ed3d4cdbb2531fa05c1feae32339c9fcb2dceda9afeeaed4edc70e8caa0962161
    55bb627402
  200. Merge bitcoin/bitcoin#22088: doc: improve note on choosing posix mingw32
    dafab2b1b37d1966610b2189e71c52e3af38dfaa doc: improve note on choosing posix mingw32 (Jarol Rodriguez)
    
    Pull request description:
    
      The current [windows build doc](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md) can lead someone to believe that the step where you must choose the posix mingw32 g++ compiler option is only for `Ubuntu 18.04`. It is only until you (or just me) go through the cross-compile process and realize that it's not building because you didn't set this option on > `Ubuntu 18.04`. Then you come back and read the footnotes and see: `Starting from Ubuntu Xenial 16.04...`.
    
      This PR improves this portion of the doc by editing the text around this stage to state "this is now the next step". We could add a note saying `Ubuntu 18.04 and up`, but this is redundant as it's unlikely someone will be using < Ubuntu 18.04 since it's not officially supported by our build system. While here, some minor fixups and add some more guidance to completing this step.
    
      **Master:** [render](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md#building-for-64-bit-windows)
      **PR:** [render](https://github.com/bitcoin/bitcoin/blob/dafab2b1b37d1966610b2189e71c52e3af38dfaa/doc/build-windows.md#building-for-64-bit-windows)
    
    ACKs for top commit:
      laanwj:
        ACK dafab2b1b37d1966610b2189e71c52e3af38dfaa
      hebasto:
        ACK dafab2b1b37d1966610b2189e71c52e3af38dfaa
    
    Tree-SHA512: d8d50fa13c34be753700843183a1a4addad6447c813bfc039865ba11d5fa03c25206ed6f3782331df4c6a44448e3fec4138ae911b995b5cacc5b756bb5d74bb4
    00cad04faf
  201. Merge bitcoin/bitcoin#21231: Add /opt/homebrew to path to look for boost libraries
    9a0969585fce03b45be7004bba865bc15909904c build: Add /opt/homebrew to path to look for boost libraries (Fu Yong Quah)
    
    Pull request description:
    
      Following the instruction in https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md for building on the M1 Macs don't work out of the box, because homebrew now defaults to /opt/homebrew instead of /usr/local. This PR fixes that.
    
    ACKs for top commit:
      jonasschnelli:
        utACK 9a0969585fce03b45be7004bba865bc15909904c
      promag:
        Tested ACK 9a0969585fce03b45be7004bba865bc15909904c.
    
    Tree-SHA512: 472568b97fbd8623481fe6fd43b0509fa32fe7f1c1d8090321a6a6a5bdc7343d4ad4122c10dcc7c9c93068db8a3f009a73befaf1ba11e4af54a66afd2c2dbe14
    70654e594f
  202. Merge bitcoin/bitcoin#22122: ci: Bump macOS image to big-sur-xcode-12.5
    faa8dfd6a1fcd4df3624aabb3ff08c1f2be198e7 ci: Bump macOS image to big-sur-xcode-12.5 (MarcoFalke)
    
    Pull request description:
    
      Closes #22068
    
    ACKs for top commit:
      hebasto:
        ACK faa8dfd6a1fcd4df3624aabb3ff08c1f2be198e7, I have reviewed the code and it looks OK, I agree it can be merged, and the Cirrus CI is green.
    
    Tree-SHA512: e29f6290163f3727f3603a3d6b4cf47677f6b02fff370e8d9073962a42bd7ab1ae8d247306e4c41bcadf0a208784344a6229627fe1a883b1e5112df30ea88635
    638cce70a0
  203. Merge bitcoin/bitcoin#22135: CRegTestParams: Use `args` instead of `gArgs`.
    5f23531926e1a9cf13bd69c09a7a8f638df1c32b CRegTestParams: Use `args` instead of `gArgs`. (Kiminuo)
    
    Pull request description:
    
      This PR is a very minor follow-up to #13311.
    
      I believe that `gArgs` was just overlooked at the modified line.
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 5f23531926e1a9cf13bd69c09a7a8f638df1c32b
    
    Tree-SHA512: f4e4ed6b23fca60e88825b502f20a1341ee2e4429bc8a2a7e419057adb643abda11be2061fe7ee076931657736e629aff88fd2c33737c84c330dc9d64f368c30
    1bfa968792
  204. Merge #22065: Mark CheckTxInputs [[nodiscard]]. Avoid UUM in fuzz… 1afcbbde11
  205. Merge bitcoin/bitcoin#22138: script: fix spelling linter raising spuriously on "invokable"
    8050eb43bf15501e33ec5312918d926e47e4fc8d script: fix spelling linter raising spuriously on "invokable" (Jon Atack)
    
    Pull request description:
    
      "invokable" is a valid word that means to be callable, but the linter is raising on it:
      ```
      $ test/lint/lint-spelling.sh
      contrib/guix/guix-attest:18: invokable ==> invocable
      contrib/guix/guix-clean:18: invokable ==> invocable
      contrib/guix/guix-verify:18: invokable ==> invocable
      ^ Warning: codespell identified likely spelling errors. Any false positives? Add them to the list of ignored words in test/lint/lint-spelling.ignore-words.txt
      ```
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 8050eb43bf15501e33ec5312918d926e47e4fc8d
    
    Tree-SHA512: 43f8dc7b7adb00ae563ccfe04a64a7ceb50237f24ff87209062bf57b2564b4d38a409df80e0183aa4f40ab306b5e07d7a5fad1600d41705bd3c443ed66a6d1c1
    72c72492cc
  206. Merge #22133: build, qt: Make QWindowsVistaStylePlugin available agai… b4ae44f2a6
  207. Merge bitcoin/bitcoin#22123: depends: Fix qt.mk for mac arm64
    3b36395b96c533dde47256b505cf1cbb2844c96e depends: Fix qt.mk for mac arm64 (João Barbosa)
    
    Pull request description:
    
      With f16d4cd8c5412890ee0b73f4ef142b59d130e5d5 `depends/config.guess` gives `aarch64-apple-darwin20.3.0` where before would give `arm-apple-darwin20.3.0`. Fix `qt.mk` accordingly.
    
    ACKs for top commit:
      hebasto:
        ACK 3b36395b96c533dde47256b505cf1cbb2844c96e, I have reviewed the code and it looks OK, I agree it can be merged.
      fanquake:
        ACK 3b36395b96c533dde47256b505cf1cbb2844c96e
    
    Tree-SHA512: bd20402d0a6e9a5bb652198de189cf2b4f3f76fd03d0cba8c4d657c60b8a088cf3532efe6c1efbbedd94c00a155e6d180b77f1cd8bc24e0e35764839e8b77e30
    37833ab4d6
  208. Merge bitcoin/bitcoin#21353: interfaces: Stop exposing wallet destdata to gui
    f5ba424cd44619d9b9be88b8593d69a7ba96db26 wallet: Add IsAddressUsed / SetAddressUsed methods (Russell Yanofsky)
    62252c95e5aa55f33a5ef22292d5d8161fcb892a interfaces: Stop exposing wallet destdata to gui (Russell Yanofsky)
    985430d9b2e183c1f59a34472e413a8d00a7e6da test: Add gui test for wallet receive requests (Russell Yanofsky)
    
    Pull request description:
    
      Stop giving GUI access to destdata rows in database. Replace with narrow API just for saving and reading receive request information.
    
      This simplifies code and should prevent the GUI from interfering with other destdata like address-used status. It also adds some more GUI test coverage.
    
      There are no changes in behavior.
    
    ACKs for top commit:
      jarolrod:
        tACK f5ba424cd44619d9b9be88b8593d69a7ba96db26
      laanwj:
        Code review ACK f5ba424cd44619d9b9be88b8593d69a7ba96db26
    
    Tree-SHA512: 5423df4786e537a59013cb5bfb9e1bc29a7ca4b8835360c00cc2165a59f925fdc355907a4ceb8bca0285bb4946ba235bffa7645537a951ad03fd3b4cee17b6b0
    9f67513e92
  209. Merge #22050: p2p: remove tor v2 support 31269453d9
  210. remove getrandom/getentropy wrappers
    causing issues on CI, try to remove to see if CI builds without them now with updates to depends
    766b7cf302
  211. Merge #22051: Basic Taproot derivation support for descriptors 4de66cc6fe
  212. Update script_standard_tests.cpp c6f59c2ec2
  213. Update amount_tests.cpp 6be794bed5
  214. Update feature_assumevalid.py df521a6085
  215. Merge bitcoin/bitcoin#15545: [doc] explain why CheckBlock() is called before AcceptBlock
    3d552b0d788a7d3102396b32d0de08e57cbfd297 [doc] explain why CheckBlock() is called before AcceptBlock() (Sjors Provoost)
    
    Pull request description:
    
      Based on https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html and its PDF attachment.
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK 3d552b0d788a7d3102396b32d0de08e57cbfd297
    
    Tree-SHA512: d1ef39855317853e0e7e051ec6015054d0d227fcdf20281c2c1921056537f1f79044aa1bdd35f46475edd17596fbcae79aeb338c4865b1269a01b158f6cb2ac4
    7149e02756
  216. Merge bitcoin/bitcoin#18795: Test: wallet issue with orphaned rewards
    e4356f6a6c18e5027a064a4d3a5deda27985f584 Testcase for wallet issue with orphaned rewards. (Daniel Kraft)
    
    Pull request description:
    
      This adds a new test case demonstrating the wallet issue when block rewards are orphaned (#14148).
    
    ACKs for top commit:
      LarryRuane:
        ACK e4356f6a6c18e5027a064a4d3a5deda27985f584
      leonardojobim:
        reACK https://github.com/bitcoin/bitcoin/pull/18795/commits/e4356f6a6c18e5027a064a4d3a5deda27985f584 .
    
    Tree-SHA512: e9a2310ee1b3d52cfa302f431ed3d272bbc1b9195439ff318d9eb1006c0b28968dbe840e1600b6ff185e5d7ea57e4dcc837cef16051b5537445e10bc363b8c22
    d3e62a7199
  217. Merge bitcoin/bitcoin#22121: doc: Various validation doc fixups
    fa4245d88409091a3a6115a96a200b70be663725 doc: Various validation doc fixups (MarcoFalke)
    
    Pull request description:
    
    ACKs for top commit:
      michaelfolkson:
        Re-ACK fa4245d88409091a3a6115a96a200b70be663725
      jnewbery:
        ACK fa4245d884
    
    Tree-SHA512: fa1086b09941247a4ffcbc1d7d27dc77a17a3ae093a5146dbb703db9ff4ba5d73ea77bd5b7747af79ea8a7dfe2c4c56a7e19ac5aac3417090e9ae127836022ae
    cd2813b519
  218. Update wallet_orphanedreward.py 9df9742704
  219. prep base layer
    150s target, upstream CL sync
    c6c969f5ba
  220. Update feature_assumevalid.py d405e848ad
  221. Update feature_assumevalid.py dc9c012247
  222. fix upload target test c1ccda74dd
  223. Merge bitcoin/bitcoin#22153: test: Fix p2p_leak.py intermittent failure
    ca3a77068b8c9c6107d078ea083f4ab7c0010548 test: Fix p2p_leak.py intermittent failure by lowering timeout (Martin Zumsande)
    
    Pull request description:
    
      Fixes #22085
    
      Root cause: There was just 1 second between the wait (5 seconds) and the `-peertimeout=4`.
      Since `ShouldRunInactivityChecks` in `net.cpp` measures the timeout in seconds, its result can only change once per second, even though it is called more often.
      So in situations when the connection is established early in a given second like [here](https://bitcoinbuilds.org/index.php?ansilog=d7b3e075-683a-45cc-94d4-9645fc17e0b6.log#l3117) (2021-05-27T12:28:04.**001**913Z ), the 1 second leeway was not be sufficient, leading to the intermittent failures.
    
      Fix this by lowering the timeout by one second.
    
    ACKs for top commit:
      MarcoFalke:
        re-ACK ca3a77068b8c9c6107d078ea083f4ab7c0010548
    
    Tree-SHA512: e7e22356d276c65a5b4f0a1b7ee5a9ad07d27691220746c7d02af3fad22cab1d53fd0ef59a938167ec80e4571c96649132d6922ad10667fc91baa47892f27a3e
    97b22f2243
  224. Merge #22150: test: Remove unused node from feature_nulldummy 26cdc5ece0
  225. Merge bitcoin-core/gui#325: Align numbers in the "Peer Id" column to … 835d6a43f7
  226. Merge bitcoin-core/gui#329: Make console buttons look clickable
    8b419b5163d41c0caef7b9fa6d3008b73917e8ee qt: make console buttons look clickable (Jarol Rodriguez)
    
    Pull request description:
    
      On master, for macOS, the console buttons' hitboxes are quite small. This makes clicking on the button with your mouse a little more tedious than it should be. The Issue is related to recent versions of Qt (>5.9.8) not playing so nice on macOS when there are "incorrect" `width` and `height` values set for a `QPushButton` (here is another example: https://github.com/bitcoin-core/gui/pull/319#pullrequestreview-652907740).
    
      This fixes this small hitbox issue by converting the buttons from `QPushButton` to `QToolButton`, which in turn makes the buttons look explicitly clickable. This approach was chosen as it helps us avoid having to play around with `width` and `height` values until we find values that play nice with macOS and look good on Linux & Windows. Also, `QToolButton` is an appropriate class for these buttons.
    
      Per [Qt Docs](https://doc.qt.io/qt-5/qtoolbutton.html#details):
      > A tool button is a special button that provides quick-access to specific commands or options. As opposed to a normal command button, a tool button usually doesn't show a text label, but shows an icon instead.
    
      Since we are changing the type of the buttons, we need to change the respective actions connection logic in `rpcconsole`. Instead of plugging in `QToolButton`, we abstract it to the base class: `QAbstractButton`.
    
      per [Qt Dev Notes](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/Developer-Notes-for-Qt-Code#inherited-signals-and-slot)
      > Use base class functions as this makes the code more general, e.g., use QAbstractButton::clicked instead of QPushButton::clicked.
    
      While here, we also update the size of the icons to `22x22` to be consistent with other tool buttons.
    
      **macOS: Master vs PR:**
    
      | Master        | PR               |
      | ----------- | ----------- |
      | ![master-ss-macos](https://user-images.githubusercontent.com/23396902/118339460-e9079c80-b4e6-11eb-864b-d394aca5df61.png) | ![pr-ss-macos](https://user-images.githubusercontent.com/23396902/118339468-ec9b2380-b4e6-11eb-9a9e-30620216750e.png) |
    
      **Linux: Master vs PR:**
    
      | Master        | PR               |
      | ----------- | ----------- |
      | ![master-ss-linux](https://user-images.githubusercontent.com/23396902/118339520-13595a00-b4e7-11eb-86d0-96dd1264c198.png) | ![pr-ss-linux](https://user-images.githubusercontent.com/23396902/118339533-1c4a2b80-b4e7-11eb-8d7f-f733d999c8fd.png) |
    
    ACKs for top commit:
      hebasto:
        ACK 8b419b5163d41c0caef7b9fa6d3008b73917e8ee, tested on Linux Mint 20.1 (Qt 5.12.8).
      promag:
        Tested ACK 8b419b5163d41c0caef7b9fa6d3008b73917e8ee on macOS Big Sur M1, this drops only relevant usages to `flat` buttons.
    
    Tree-SHA512: 3f3cdcbe83398136a1d1ee8fc2835be8681f2ed39e79db1e939cab6a00a779f528343d54992807a845cc84d9ef13591affb7a6dbca9e5753a2b8665b0af4d611
    a14397b062
  227. Merge bitcoin-core/gui#256: Save/restore column sizes of the tables in the Peers tab
    fb1b1e0f3eae32b087347889ed7502b7f2c48549 qt: Save/restore column sizes of the tables in the Peers tab (Hennadii Stepanov)
    
    Pull request description:
    
    ACKs for top commit:
      jonatack:
        ACK fb1b1e0f3eae32b087347889ed7502b7f2c48549 code review, debug-built and tested
      jarolrod:
        ACK fb1b1e0f3eae32b087347889ed7502b7f2c48549
    
    Tree-SHA512: f93495ecd13e4202aba61b407fffbeec855f5b0c1cc027197c78edddd7d11c87ebdb0fcb1daac242f0407323b31f4e7e0313bd76113a5241e4c868a8829af20a
    97504980a7
  228. Merge bitcoin-core/gui#29: refactor: Optimize signal-slot connections logic 1308761b50
  229. Update amount_tests.cpp 7114d5596a
  230. llmq: Bump llmq leveldb cache size to 8 MiB c56bb41191
  231. evo: Refactor (Add/Update/Remove)MNs to do the job in one go a9249a2056
  232. check in bls update 9cdb04a0a8
  233. compile
    use new bls algorithm for bls sigs
    d357521906
  234. fix lint 836f4cac27
  235. Update .configure-custom.sh e584cc8800
  236. Update configure.ac e0ac0ef666
  237. add cmake dep to multiprocess packages 77dc35c53d
  238. install py 3.9 in gitian desc d0c4888fdb
  239. Revert "install py 3.9 in gitian desc"
    This reverts commit d0c4888fdb80f6c442019b935a63d5f389430099.
    18e2fb6b68
  240. add python3-distutils 03eda38060
  241. distutils f74d45399c
  242. Revert "distutils"
    This reverts commit f74d45399ce5f2df9ce7d49e05e0b21a4f6f39b4.
    64726f0d99
  243. Revert "add python3-distutils"
    This reverts commit 03eda380605dd181e36a32c9e3bef80ac3d644f2.
    4a841fa3c1
  244. don't build py bindings by default 4f57637b30
  245. Update 00_setup_env_native_fuzz.sh 6cbc04b798
  246. fix relic include paths fa3230e352
  247. Update 00_setup_env_native_asan.sh 5b07c36e15
  248. build bls from src b5bc372266
  249. use native cmake 9e85fa2e24
  250. Update .configure-custom.sh 2edf864b67
  251. Update .configure-custom.sh e66f960d32
  252. sidhujag closed this on Jun 7, 2021

  253. fanquake locked this on Jun 7, 2021
  254. fanquake renamed this:
    Dev 4.x bls
    .
    on Jun 24, 2021
Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-29 03:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me