. #27489

pull Muhammedhamid23 wants to merge 121 commits into bitcoin:master from Muhammedhamid23:2023 changing 182 files +94429 −89344
  1. Muhammedhamid23 commented at 7:57 PM on April 18, 2023: none

    <!-- *** Please remove the following help text before submitting: *** Pull requests without a rationale and clear improvement may be closed immediately. GUI-related pull requests should be opened against https://github.com/bitcoin-core/gui first. See CONTRIBUTING.md -->

    <!-- Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly: * Any test improvements or new tests that improve coverage are always welcome. * All other changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change. * Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed. * Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible. * Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they *significantly* improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the [developer notes](/doc/developer-notes.md), stylistic code changes are usually rejected. -->

    <!-- Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time. -->

  2. build: Bump version to 22.0.0rc1
    Tree-SHA512: 1bc98f4a6d15d8f810fa6d2ee26c495a8da08dff3efd3d2ec6bbc6bd8091751a21436efc39f04fb68c5279312644ff9a63bcbc3c4df02e0bf89cd1cd8473bac5
    f277b1782c
  3. qt: Pre-rc2 translations update
    We forgot this for rc1. Thanks to Hebasto for fixing the import script.
    
    Tree-SHA512: 127d0989dabf95867f4542e7f3134ef5d5045418b1411582772d60759e16a5090e30c83bffbbc44b2a496ba830a66bdb0d8ba0d2def43f3462a4f15edf64953a
    6312b8370c
  4. guix: Silence getent(1) invocation
    Github-Pull: #22511
    Rebased-From: 3c4d2c418e62d421a8bd7640ef5384251c892406
    45e0f3d608
  5. guix/INSTALL: Misc fixups
    Github-Pull: #22511
    Rebased-From: a884a1edcd1b795799f1be65df17462041741dc3
    9e52a30ebd
  6. guix/build: Remove vestigial SKIPATTEST.TAG
    Github-Pull: #22533
    Rebased-From: 9f01feda0ad99d8600f9edee1f37594c5166a7b8
    34f9f88bc9
  7. Updated Readme, Corrected the codesign typo
    Github-Pull: #22538
    Rebased-From: d7b7f610a53aa62bd82f6704a9c518a93c896963
    3bbfc1b8e0
  8. script, doc: guix touchups
    Github-Pull: #22538
    Rebased-From: 198ceb82f91bfdeac6e143ca7433f4a524f6f36f
    8f1e3b31b2
  9. guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS
    Github-Pull: #22531
    Rebased-From: 33455c76964b9e27b33e970d9722cc47657b291b
    056e47d887
  10. guix: Allow changing the base manifest in guix-verify
    When verifying guix attestations, it is useful to set a particular
    signer's manifest as the base to compare against.
    
    Github-Pull: #22531
    Rebased-From: 4a466388a0092fbdf5f8969c6bfb65bf8cc962e1
    aa9b6aba03
  11. guix, doc: Add a note that codesigners need to rebuild after tagging
    One of the issues observed during the 22.0rc1 release process was that a
    codesigner's attestation mismatched non-codesigner attestations because
    the guix-codesign step was performed prior to tagging the version in
    bitcoin-detached-sigs.
    
    Github-Pull: #22531
    Rebased-From: d080c27066449f76bc8709fc50e422757971d2cf
    38d18c01e2
  12. guix: Remove extra \r from all.SHA256SUMS line ending
    guix-attest mistakenly added an extra \r to the line endings in
    all.SHA256SUMS, causing guix-verify to erroneously fail.
    
    Co-Authored-By: Carl Dong <contact@carldong.me>
    
    Github-Pull: #22531
    Rebased-From: 43225f0a2a517ccd79dc49279b979ffd2eca6b85
    219900a123
  13. guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
    If the user has set log.showSignature=true in their git config, then the
    git log will always output GPG signature information. Since git log is
    used to set EPOCH_SOURCE_DATE, this will mistakenly have GPG signature
    information in it which causes issues for the build. To avoid this
    issue, we override the config and force log.showSignature=false.
    
    Github-Pull: #22531
    Rebased-From: 9b313dfef18792fcc36e78ef3caa693fafcce04e
    cd57bb1a66
  14. qt: Pre-rc2 translations update 2d3fcf5760
  15. contrib, p2p: update I2P hardcoded seeds
    Github-Pull: #22589
    Rebased-From: 2962640c49cf38f76345e45e63045a8f0eed5c61
    cc8838ce98
  16. doc: add info to i2p.md about IBD time and multiple networks
    Github-Pull: #22589
    Rebased-From: d2dffd5be4c8f6a1942dd971d09707c3620a1689
    739d19053b
  17. Merge bitcoin/bitcoin#22536: [22.x] qt: Pre-rc2 translations update
    2d3fcf576079a84c6fe7f5622b9b5da6427b2274 qt: Pre-rc2 translations update (Hennadii Stepanov)
    
    Pull request description:
    
      Since 6312b8370c5d3d9fb12eab992e3a32176d68f006 translations are still updating everyday.
    
      I'm going to keep this PR updated until the moment just before tagging rc2, when it is expected to be merged.
    
      Hope this will make life of both translators and release maintainers a bit easier :)
    
    Top commit has no ACKs.
    
    Tree-SHA512: d2c44f3900ee313cfce24edaed30a08dbe340e5ecc627301bc3cc7162ddebe6c0403351ce0bf056395ab14e55908de1609f5e6e8183d3405bed86416888cb32d
    d7a3c7082d
  18. Merge bitcoin/bitcoin#22534: [22.x] rc2 backports
    739d19053b152c8f6a5d70461a9a1b93549f135c doc: add info to i2p.md about IBD time and multiple networks (Jon Atack)
    cc8838ce981a7e6345aa07318d2d857420d6a0de contrib, p2p: update I2P hardcoded seeds (Jon Atack)
    cd57bb1a6626e0820ae2456cd3b71c140cf83403 guix: Ensure EPOCH_SOURCE_DATE does not include GPG information (Andrew Chow)
    219900a1236ec056d24ccefa97af119d12e14303 guix: Remove extra \r from all.SHA256SUMS line ending (Andrew Chow)
    38d18c01e25d3a103697c120a50b366414876370 guix, doc: Add a note that codesigners need to rebuild after tagging (Andrew Chow)
    aa9b6aba0302a3c7345f8e6d73a1868083f87874 guix: Allow changing the base manifest in guix-verify (Andrew Chow)
    056e47d88748062ef6d4b2f3d3dbf93d9cadca14 guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS (Andrew Chow)
    8f1e3b31b2b4ba024b2adca31a061bbbd2a1378f script, doc: guix touchups (jonatack)
    3bbfc1b8e0660a03c7b63eaf2fc8834b499aa811 Updated Readme, Corrected the codesign typo (h)
    34f9f88bc95cca04d3a5b71127ea6425a6e3b762 guix/build: Remove vestigial SKIPATTEST.TAG (Carl Dong)
    9e52a30ebd0eb29c4068791fbf12d62091ada116 guix/INSTALL: Misc fixups (Carl Dong)
    45e0f3d608f707807eadc2e80fc9f2d4f9230a01 guix: Silence getent(1) invocation (Carl Dong)
    
    Pull request description:
    
      Currently backports #22511. We can collect up further backports and merge prior to rc2.
    
    ACKs for top commit:
      laanwj:
        ACK 739d19053b152c8f6a5d70461a9a1b93549f135c
    
    Tree-SHA512: 8fc795ee56b7757ff405636a2811bd606ea33ba1160f3f1ea42e0e1478ce8211bb60bf7b16a673b932db40a24b76d47c54e703bf2775d3b9385d9b080183b433
    04222235a4
  19. build: Bump RC to rc2
    Tree-SHA512: 2e9db22da514b0ef4456f46524762420730cdd3c160a4012ca9d736d18d01abd2403b0ce800743b1f92212937436fe849b1c1b07bed0e3ad9f61165be55b7958
    873fbc745d
  20. doc: Manual pages update for 22.0rc2
    Tree-SHA512: 361c6efdd21396ebf4358195e91bde81e7f7414e7022efc4d4a10da7cf3df7ce8cdadd277237921fdde9bae4b811d69d95fec56c010b823324ca69b40b966d41
    d3bd5410f6
  21. ci: Run fuzzer task for the master branch only
    Github-Pull: bitcoin/bitcoin#22730
    Rebased-From: 5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd
    e9d30fbb3a
  22. consensus/params: simplify ValidDeployment check to avoid gcc warning
    Github-Pull: bitcoin/bitcoin#22597
    Rebased-From: 059171009b0138555f311cedc2553015ff618323
    57fce067a3
  23. qt: Fix regression in "Encrypt Wallet" menu item
    Adding a new item to the m_wallet_selector must follow the establishment
    of signal-slot connections.
    
    Github-Pull: bitcoin-core/gui#393
    Rebased-From: d54d94959869b0c363939163b99ba0475751dcb6
    e9b4487684
  24. gui: ensure external signer option remains disabled without signers
    When no external signers are available, the option to enable external
    signers should always be disabled. However the encrypt wallet checkbox
    can erroneously re-enable the external signer checkbox. To avoid this,
    CreateWalletDialog now stores whether signers were available during
    setSigners so that future calls to external_signer_checkbox->setEnabled
    can account for whether signers are available.
    
    Github-Pull: bitcoin-core/gui#396
    Rebased-From: a9b9ca82daefc77ee3c884d3f250460d7cf734a5
    6a611d2e3c
  25. guix-verify: Non-zero exit code when anything fails
    Previously, if verification fails, the correct message will be printed,
    but the exit code would still be 0.
    
    Github-Pull: bitcoin/bitcoin#22643
    Rebased-From: d451b60d22576dff7a2c8d6a8b5880d9d69e397c
    cb491bd5a7
  26. release: Release with separate SHA256SUMS and sig files
    This allows us to remove the rfc4880 EOL hacks and release with a
    SHA256SUMS.asc file that's a combination of all signer signatures.
    
    Github-Pull: bitcoin/bitcoin#22642
    Rebased-From: 90b3e482e911fde73133a157c3b354471682275a
    ce77b45a1f
  27. wallet: Use GetSelectionAmount for target value calculations
    For target value calculations, GetSelectionAmount should be used, not
    m_effective_value or m_value.
    
    Specifically, ApproximateBestSubset mistakenly uses m_value when
    calculating whether the target value has been met. This has been changed
    to use GetSelectionAmount.
    
    Github-Pull: bitcoin/bitcoin#22686
    Rebased-From: 2de222c40198d3d528668d78cc52e2ce3fa96765
    ffc81e2048
  28. wallet: Assert that enough was selected to cover the fees
    When the fee is not subtracted from the outputs, the amount that has
    been reserved for the fee (change_and_fee - change_amount) must be
    enough to cover the fee that is needed. It would be a bug to not do so,
    so use an assert to make this obvious if such a situation were to occur.
    
    Github-Pull: bitcoin/bitcoin#22686
    Rebased-From: d9262324e80da32725e21d4e0fbfee56f25490b1
    e86b023606
  29. test: Test for ApproximateBestSubset edge case with too little fees
    ApproximateBestSubset had an edge case (due to not using
    GetSelectionAmount) where it was possible for it to return success but
    fail to select enough to cover transaction fees. A test is added that
    could trigger this failure prior to the fix being implemented.
    
    Github-Pull: bitcoin/bitcoin#22686
    Rebased-From: 92885c4f69a5e6fc4989677d6e5be8a666fbff0d
    dfaffbeb63
  30. clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
    Previously, building from a release source tarball would result in a
    version string like v22.0.0-<commithash>, but we expect just v22.0.0.
    This commit solves this problem.
    
    Also use PACKAGE_VERSION instead of reconstructing it.
    
    Github-Pull: bitcoin/bitcoin#22685
    Rebased-From: 5100deee5822795d385570a380d3c117d05d851d
    63fec7e295
  31. test: fix bug in 22686
    Github-Pull: bitcoin/bitcoin#22742
    Rebased-From: 8dcbbbea6486e9ab7d5e7397b82585141f9910bf
    88fb7e37ad
  32. guix: Don't include directory name in SHA256SUMS
    The SHA256SUMS file can be used in a sha256sum -c command to verify
    downloaded binaries. However users are likely to download just a single
    file and not place this file in the correct directory relative to the
    SHA256SUMS file for the simple verification command to work. By not
    including the directory name in the SHA256SUMS file, it will be easier
    for users to verify downloaded binaries.
    
    Co-authored-by: Carl Dong <contact@carldong.me>
    
    Github-Pull: bitcoin/bitcoin#22654
    Rebased-From: fb17c99e35e72f3b21ec3b5473e84c21dc964776
    27d43e5bd4
  33. doc: Mention the flat directory structure for uploads
    The uploaded binaries need to match the same flat directory structure of
    the SHA256SUMS file in order for torrent downloaders to be able to
    verify the download without moving files. Mention this in the release
    process doc.
    
    Github-Pull: bitcoin/bitcoin#22654
    Rebased-From: 132cae44f2d031bdaa1e459b92ec89ad585dfc9f
    068985c02e
  34. qt: Pre-rc3 translations update aa254a01c1
  35. qt: Handle new added plurals in bitcoin_en.ts
    This step was missed. See translation_process.md
    
    Github-Pull: bitcoin-core/gui#406
    Rebased-From: 2b3d8f3dde383a53f29b7e7ee53ea364d4ef8938
    cb34a0aafe
  36. Fix build with Boost 1.77.0
    BOOST_FILESYSTEM_C_STR changed to accept the path as an argument
    
    Github-Pull: bitcoin/bitcoin#22713
    Rebased-From: acb7aad27ec8a184808aa7905887e3b2c5d54e9c
    32e1424f84
  37. Merge bitcoin/bitcoin#22629: [22.x] rc3 backports
    32e1424f84a30194dc5baa7108cf7d958ea0afcd Fix build with Boost 1.77.0 (Rafael Sadowski)
    cb34a0aafe21881b45a664432ad404a3dbf2f881 qt: Handle new added plurals in bitcoin_en.ts (Hennadii Stepanov)
    068985c02e20b28c717a336e6b226e98060a9a45 doc: Mention the flat directory structure for uploads (Andrew Chow)
    27d43e5bd40590d18b4cf88a4e98ddabbc93fb9a guix: Don't include directory name in SHA256SUMS (Andrew Chow)
    88fb7e37ad37f2a262c7bf1f35ce77aa57113f32 test: fix bug in 22686 (S3RK)
    63fec7e2958cd4349d73faf854e0665e7af30965 clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE (Carl Dong)
    dfaffbeb6306be2e3bf447642f271c7fc733ae5e test: Test for ApproximateBestSubset edge case with too little fees (Andrew Chow)
    e86b023606193ca044f9ce20c88958d693585734 wallet: Assert that enough was selected to cover the fees (Andrew Chow)
    ffc81e2048bc9d3887211174b58f798b981f8c64 wallet: Use GetSelectionAmount for target value calculations (Andrew Chow)
    ce77b45a1f4c6ff5bb0a283ffdd0999e734c1fb0 release: Release with separate SHA256SUMS and sig files (Carl Dong)
    cb491bd5a717c280e23727a2ca3918d6ff6968b3 guix-verify: Non-zero exit code when anything fails (Carl Dong)
    6a611d2e3c3ec703b2a034a3dc5422a6535c648b gui: ensure external signer option remains disabled without signers (Andrew Chow)
    e9b44876842df254fb4a2856702b74fe8c01ba6d qt: Fix regression in "Encrypt Wallet" menu item (Hennadii Stepanov)
    57fce067a322d4b30ae8516795d5d2a1fe2f9f66 consensus/params: simplify ValidDeployment check to avoid gcc warning (Anthony Towns)
    e9d30fbb3a90dfafebdb026a53b4f632614d660e ci: Run fuzzer task for the master branch only (Hennadii Stepanov)
    
    Pull request description:
    
      Backported:
    
      1) #22730
      1) https://github.com/bitcoin-core/gui/pull/393
      1) #22597
      1) https://github.com/bitcoin-core/gui/pull/396
      1) #22643
      1) #22642
      1) #22685
      1) #22686
      1) #22654
      1) #22742
      1) https://github.com/bitcoin-core/gui/pull/406
      1) #22713
    
    ACKs for top commit:
      laanwj:
        Code list-of-backported-PRs review ACK 32e1424f84a30194dc5baa7108cf7d958ea0afcd
    
    Tree-SHA512: f5e2dd1be6cdcd39368eeb5d297b3ff4418d0bf2e70c90e59ab4ba1dbf16f773045d877b4997511de58c3aca75a978dcf043e338bad23951557e2a27ccc845f6
    4a25e39624
  38. Merge bitcoin/bitcoin#22667: [22.x] qt: Pre-rc3 translations update
    aa254a01c1d4d853143e0460a8d6ddc481c9785c qt: Pre-rc3 translations update (Hennadii Stepanov)
    
    Pull request description:
    
      A regularly updated PR with new translations fetched from Transifex.com.
    
    ACKs for top commit:
      laanwj:
        Sanity-check (did not review any specific translations) ACK aa254a01c1d4d853143e0460a8d6ddc481c9785c
    
    Tree-SHA512: bb380b1afb8af7895ac2de5ccdf489b9a73b6d47334d5eb5608370034795c064b5978106814ada96aaa5abd45a04901e6fd749bddc23149fb4a11dd4e6efe846
    99cd080db1
  39. build: Bump version to 22.0rc3
    Tree-SHA512: 7e8c32d7b784329236090e09bb6c5f8ee7a64f46cfc136dae97d4838239292e94b28cfd429f56eaaddc1a23ebf33218b1b4396e126fe6cf60938f1909aaaf66e
    59d4afc272
  40. Improve doc/i2p.md regarding I2P router options/versions
    Github-Pull: bitcoin/bitcoin#22648
    Rebased-From: b87a9c4d13329a6236124d4b93580c4df8107b32
    
    Tree-SHA512: 3567e6dbfb7c3f410ea84d3f005c86be0283f92e1be1bc2a7ce93240a0b8460b985b3cec5873a19eade52dc1d78ca383c99e023d0bb4247048ae7e43b47522a5
    f95b655ba9
  41. doc: Stop nixing `-` in manual pages
    The version replacement here is not working anyway, not just that but it
    is actively harmful as it removes all `-` from the text. So remove that
    line. See discussion in #22681.
    
    Tree-SHA512: 909c6225a50bbda1253bae65c09700a658bd36b5c91c91cea28d1df0aad5dc4adb095e0695259eca377536da34d17741ce453a5c5c50041d1163d94bbbe5355d
    c1c79f4c81
  42. doc: Manual pages update for rc3
    Tree-SHA512: b8e2fa79fc6e46e74ebfe725fcdf12432167de9547138721e1d545426c52935e8f58f15fb4f7bfda9f11b02b17f77633238b5d0e883fd3362dc62b0ef4197a3c
    86de56776a
  43. doc: mention bech32m/BIP350 in doc/descriptors.md
    Github-Pull: #22837
    Rebased-From: d2a09c83554cec864a27e704cf2a0d513691a567
    0640bf5c82
  44. guix/prelude: Override VERSION with FORCE_VERSION
    Previously, if the builder exported $VERSION in their environment (as
    past Gitian-building docs told them to), but their HEAD does not
    actually point to v$VERSION, their build outputs will differ from those
    of other builders.
    
    This is because the contrib/guix/guix-* scripts only ever act on the
    current git worktree, and does not try to check out $VERSION if $VERSION
    is set in the environment.
    
    Setting $VERSION only makes the scripts pretend like the current
    worktree is $VERSION.
    
    This problem was seen in jonatack's attestation for all.SHA256SUMS,
    where only his bitcoin-22.0rc3-osx-signed.dmg differed from everyone
    else's.
    
    Here is my deduced sequence of events:
    
    1. Aug 27th: He guix-builds 22.0rc3 and uploads his attestations up to
       guix.sigs
    
    2. Aug 30th, sometime after POSIX time 1630310848: he pulls the latest
       changes from master in the same worktree where he guix-built 22.0rc3
       and ends up at 7be143a960e2
    
    3. Aug 30th, sometime before POSIX time 1630315907: With his worktree
       still on 7be143a960e2, he guix-codesigns. Normally, this would result
       in outputs going in guix-build-7be143a960e2, but he had
       VERSION=22.0rc3 in his environment, so the guix-* scripts pretended
       like he was building 22.0rc3, and used 22.0rc3's guix-build directory
       to locate un-codesigned outputs and dump codesigned ones.
    
       However, our SOURCE_DATE_EPOCH defaults to the POSIX time of HEAD
       (7be143a960e2), which made all timestamps in the resulting codesigned
       DMG 1630310848, 7be143a960e2's POSIX timestamp. This differs from the
       POSIX timestamp of 22.0rc3, which is 1630348517. Note that the
       windows codesigning procedure does not consider SOURCE_DATE_EPOCH.
    
    We resolve this by only allowing VERSION overrides via the FORCE_VERSION
    environment variable.
    
    Github-Pull: #22847
    Rebased-From: 96cc6bb04f7e173e1f7637b780ac00fc75486671
    303bc8a069
  45. doc: Move 22.0 release notes from wiki
    Co-authored-by: Andrew Chow <achow101-github@achow101.com>
    Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
    Co-authored-by: Jon Atack <jon@atack.com>
    Co-authored-by: MarcoFalke <falke.marco@gmail.com>
    Co-authored-by: Michael Folkson <michaelfolkson@gmail.com>
    Co-authored-by: Pieter Wuille <github-sipa@wuille.net>
    Co-authored-by: Sjors Provoost <sjors@sprovoost.nl>
    Co-authored-by: Vasil Dimov <vd@freebsd.org>
    d447972417
  46. Merge bitcoin/bitcoin#22920: doc: Move 22.0 release notes from wiki
    d447972417e740de7ee61847726058845637aa8d doc: Move 22.0 release notes from wiki (W. J. van der Laan)
    
    Pull request description:
    
      Reintroduce the release notes back into the branch for 22.0 final.
    
    Top commit has no ACKs.
    
    Tree-SHA512: ef2065a43db657a1351bcce18fe59a5eb5ee009da5739fdc077654696cd0e822546981df492924d61c74d2f2a276d7768c2cf0e57402befa8bd4d11c8e9b8fc5
    fbf498d26b
  47. Merge bitcoin/bitcoin#22857: [22.x] Backports
    303bc8a0697fda00f21173dc9ae863357adac793 guix/prelude: Override VERSION with FORCE_VERSION (Carl Dong)
    0640bf5c82e5841911b1d8288aad66e872ed3183 doc: mention bech32m/BIP350 in doc/descriptors.md (Pieter Wuille)
    
    Pull request description:
    
      Backports:
      * #22847 - guix/prelude: Override VERSION with FORCE_VERSION
      * #22837 - doc: mention bech32m/BIP350 in doc/descriptors.md
    
      Theses are both minor enough that they would not require and rc4.
    
    ACKs for top commit:
      laanwj:
        ACK 303bc8a0697fda00f21173dc9ae863357adac793
    
    Tree-SHA512: faac095f71abb537f1d2a338e4f79f8389be2362eec0841e3fb47aaee731ce242856db461f89351c2ca4e1129a3afdd49c3e918a7bf22af3e4d2f7deaff48ad8
    03f1422786
  48. build: Bump version to 22.0 final
    Tree-SHA512: c9280b1b19e6874ebdde89b6ab98933c56834cc0d74b98a420349cd93f96f526768e42b2e1e1d820c39f2f8b137bbeab72fc221d5ddb7f315c545675ee68e851
    afbee409ba
  49. doc: Manual pages update for 22.0 final
    Tree-SHA512: 689698e7208782d9c7a6d926e9510b0e49223ee01f3fd878ae1b9b1d1f770e590982113e3c0f238046d65c5ddd7683ad357c7ebabc177bc8be9c7ec484c2944c
    f75615ebdd
  50. Some small improvements to release notes 9f9ffe5bb0
  51. Merge bitcoin/bitcoin#22921: Some small improvements to release notes
    9f9ffe5bb006ecc29dd3d668b685130ba1259389 Some small improvements to release notes (Pieter Wuille)
    
    Pull request description:
    
      .
    
    ACKs for top commit:
      laanwj:
        ACK 9f9ffe5bb006ecc29dd3d668b685130ba1259389
      dongcarl:
        ACK 9f9ffe5bb006ecc29dd3d668b685130ba1259389
    
    Tree-SHA512: 63ff574eb1c5e7b5f2ac4fc99d3352d2de7fa05ccd0abbe58fcc0720b139ace05c855a6cf46ab7a5537b3f0792442d98dc155c3f3ee7bfd1127fe08f5fb01be5
    a0988140b7
  52. doc: Add historical release notes for 22.0
    Github-Pull: #22971
    Rebased-From: c88f43f1ac1e790f004c5f432bc4a58455b82280
    405f58140d
  53. doc: clean out release-notes.md dff22619ff
  54. Merge bitcoin/bitcoin#23275: [22.x] Add historical & clean out 22.0 rel notess
    dff22619ffafbea1c3d55ccacf8677085384c3cd doc: clean out release-notes.md (fanquake)
    405f58140d3279e021703e76544d1e88aee22195 doc: Add historical release notes for 22.0 (W. J. van der Laan)
    
    Pull request description:
    
      Cleans out `release-notes.md`, and adds release notes for 22.0.
    
    ACKs for top commit:
      MarcoFalke:
        cr ACK dff22619ffafbea1c3d55ccacf8677085384c3cd
    
    Tree-SHA512: bfcfb8a4f6c5d572d9c91380f141141a5dd88936fa4c282c3dc93568b06a5fbca178f7e4b0dd5c0a24d6c2ef56242fd2012896186d04e3ea7666112386341a1b
    12b315484d
  55. build: explicitly disable libsecp256k1 openssl based tests
    These tests are failing when run against OpenSSL 3, and have been
    removed upstream, https://github.com/bitcoin-core/secp256k1/pull/983, so
    disabled them for now to avoid `make check` failures.
    
    Note that this will also remove warning output from our build, due to
    the use of deprecated OpenSSL API functions. See #23048.
    
    Github-Pull: #23314
    Rebased-From: d7524546abf1fa5be8e6317ee50585e966ae6b4c
    e959b46aa9
  56. Merge bitcoin/bitcoin#23315: [22.x] build: explicitly disable libsecp256k1 openssl based tests
    e959b46aa933856e7636557f4ec6fce0efbc76aa build: explicitly disable libsecp256k1 openssl based tests (fanquake)
    
    Pull request description:
    
      Backport of #23314
    
      These tests are failing when run against OpenSSL 3, and have been
      removed upstream, bitcoin-core/secp256k1#983, so
      disabled them for now to avoid `make check` failures.
    
      Note that this will also remove warning output from our build, due to
      the use of deprecated OpenSSL API functions. See #23048.
    
    Top commit has no ACKs.
    
    Tree-SHA512: ab3213dc82e7a64a005ce237710009bb447dee2702c4c02245e70df62063a00add73c4e80e9c619ce57345d4a2808fd4dc08e2e02a319b0f3d9285b8b0056599
    56156a1f08
  57. guix: ignore additioanl failing certvalidator test
    ======================================================================
    ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
        validate_path(context, path)
      File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
        return _validate_path(validation_context, path)
      File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
        raise PathValidationError(pretty_message(
    certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-01-14 12:00:00Z
    
    Github-Pull: #24057
    Rebased-From: 85885919656a3f606f3d7f208378aabe95f3f62d
    b7ecef1ddf
  58. Merge bitcoin/bitcoin#24215: [22.x] guix: ignore additional failing certvalidator test
    b7ecef1ddf0c9f1f53ab220bee2e19a6b8978e34 guix: ignore additioanl failing certvalidator test (fanquake)
    
    Pull request description:
    
      Backports https://github.com/bitcoin/bitcoin/commit/85885919656a3f606f3d7f208378aabe95f3f62d from #24057 so that from-scratch Guix builds for the Darwin host aren't broken due to a (very recently) expired certificate causing one of the python-certvalidator tests to fail. Kept separate from #23276 because that hasn't gotten review attention, and I don't think we should leave `22.x` Darwin Guix builds broken for any longer than we have to.
    
      Fixes #24110.
    
      ```bash
      ======================================================================
      ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
          validate_path(context, path)
        File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
          return _validate_path(validation_context, path)
        File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
          raise PathValidationError(pretty_message(
      certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-01-14 12:00:00Z
      ```
    
      Guix Build:
      ```bash
      bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
      359755bffecc64b4c005c5cdee3824190f6b1759dbc6c20034476dcc06413959  guix-build-b7ecef1ddf0c/output/dist-archive/bitcoin-b7ecef1ddf0c.tar.gz
      0c6700270ec75991d70a97cad77e22cc00553f812edb56c1bac5ef6421f963e1  guix-build-b7ecef1ddf0c/output/x86_64-apple-darwin/SHA256SUMS.part
      87d4637a87959a304422550edf87feda3953d7305894154a6a2d413cc0dd2034  guix-build-b7ecef1ddf0c/output/x86_64-apple-darwin/bitcoin-b7ecef1ddf0c-osx-unsigned.dmg
      9cabae32689bd5f93e7faaaf341827f1c4069a63ab6f74276564e47819343b6c  guix-build-b7ecef1ddf0c/output/x86_64-apple-darwin/bitcoin-b7ecef1ddf0c-osx-unsigned.tar.gz
      bb5fb113bc022a305e49783d0ba48be90aca61e4a942beeb45206dbc5b91ca6e  guix-build-b7ecef1ddf0c/output/x86_64-apple-darwin/bitcoin-b7ecef1ddf0c-x86_64-apple-darwin.tar.gz
      ```
    
    ACKs for top commit:
      MarcoFalke:
        Concept ACK b7ecef1ddf0c9f1f53ab220bee2e19a6b8978e34
    
    Tree-SHA512: 8f761fece405b3b974b9f42ab4ebf8995d3284ce7bfb0556ff8459e1a7d30f8bd2f407cb5651e9fa1094c493148bba7a8918a251b54a83efe12acfaf3d39f350
    a06915dece
  59. build: libXau 1.0.9
    Github-Pull: #23489
    Rebased-From: fc65127244320500022c3772141850eda28b99af
    4b92a6b42c
  60. build: fix depends zeromq dash compatibility
    Picks upstream commit 9a397666d28ca5f3c0d8233be3d39b2206555f45 to fix
    dash compatibility. This fixes building zeromq in our CentOS 8 CI. This
    is my preferred fix over backporting a zeromq update (which would
    contain this change).
    685ac6ad2e
  61. ci: Bump CentOS 8 image
    Github-Pull: #24212
    Rebased-From: fa5457e64adfc6060382bd36c45e95be6ea693ef
    b5d12edb08
  62. ci: Use dash when building depends in centos build
    Github-Pull: #24212
    Rebased-From: fafc55a489d8f654dd7732b699c9bf51b5136b4b
    d34691ce0c
  63. Merge bitcoin/bitcoin#24256: [22.x] build: Bump depends packages (zmq, libXau)
    d34691ce0c07b5437c0e4fa9aea4afd699530151 ci: Use dash when building depends in centos build (MarcoFalke)
    b5d12edb0842919ad5213e65db48d8cf8f0e676e ci: Bump CentOS 8 image (MarcoFalke)
    685ac6ad2e48093d69cccd1d242ed36a326cf90b build: fix depends zeromq dash compatibility (fanquake)
    4b92a6b42cb80eafa62fe7987860e8925b8c2361 build: libXau 1.0.9 (fanquake)
    
    Pull request description:
    
      Backports #24212 to the 22.x branch. Included a bump to libXau and an additional commit for zeromq to fix dash compatibility.
    
    ACKs for top commit:
      hebasto:
        ACK d34691ce0c07b5437c0e4fa9aea4afd699530151
    
    Tree-SHA512: 862b819df6d74cfb0499d1f1040cfbf70dc4449108521466ff22db48b942949fec5c5e93d5f652109f228eac8e60413830f7c22b3879a0bd2441a60b87470972
    eff9709723
  64. build: Restrict check for CRC32C intrinsic to aarch64
    `crc32c`'s hardware accelerated code doesn't handle ARM 32-bit at all.
    Make the check in `configure.ac` check for this architecture explicitly.
    
    For the release binaries, the current `configure.ac` check happens
    to work: it enables it on aarch64 but disables it for armhf. However
    some combination of compiler version and settings might ostensibly cause
    this check to succeed on armhf (as reported on IRC). So make the 64-bit
    platform requirement explicit.
    
    Github-Pull: #23045
    Rebased-From: f2747d1602ec4e1128356b861b2167daf66a845b
    85c78e08ec
  65. Fix (inverse) meaning of -persistmempool
    Github-Pull: #23061
    Rebased-From: faff17bbde6dcb1482a6210bc48b3192603a446f
    db76db7329
  66. doc: Add 23061 release notes
    Github-Pull: #23061
    Rebased-From: faa9c19a4b27e7fabf7c5deae1b4c4ca612ed01a
    92d44ff36c
  67. guix: Fix powerpc64(le) dynamic linker name
    I used Guix's values for the powerpc64(le) dynamic linkers, and the
    /lib-prefix seems to be a Guix-ism rather than standard. The standard
    path for the linker-loaders start with /lib64.
    
    I've taken the new loader values from SYSDEP_KNOWN_INTERPRETER_NAMES in
    glibc's sysdeps/unix/sysv/linux/powerpc/ldconfig.h file.
    
    For future reference, loader path values can also be found on glibc's
    website: https://sourceware.org/glibc/wiki/ABIList?action=recall&rev=16
    
    Github-Pull: #23148
    Rebased-From: b96adcbfae90b3e041754f11624cac04c1999e8c
    c1cdeddd90
  68. system: skip trying to set the locale on NetBSD
    Just treat it the same as the other BSDs.
    
    Fixes #17379.
    
    Github-Pull: #22390
    Rebased-From: fdd71448e78f442ffd93a3a3398a5062eaba9f1b
    c95b188fc0
  69. build, qt: Fix typo in QtInputSupport check
    Github-Pull: #22820
    Rebased-From: e251726affe97da745362c82567c2377ceb07d21
    a5a1538826
  70. the result of CWallet::IsHDEnabled() was initialized with true.
    But in case of no keys or a blank hd wallet the iterator would be skipped
    and not set to false but true, since the loop would be not entered.
    
    That had resulted in a wrong return and subsequent false HD and watch-only
    icon display in gui when reloading a wallet after closing.
    
    Update src/wallet/wallet.cpp
    
    Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
    
    Github-Pull: #22781
    Rebased-From: 8733a8e84c4b2e484f6ed6159fcf5f29a360d42e
    c671c6f470
  71. consensus: don't call GetBlockPos in ReadBlockFromDisk without lock
    Github-Pull: #22895
    Rebased-From: 350e034e64d175f3db4c85ddca42e76e279912f6
    7febe4f3c7
  72. refactor: include a missing <limits> header in fs.cpp
    ... needed for std::numeric_limits<T>::max on WIN32
    
    Github-Pull: #23335
    Rebased-From: 077a875d94b51e3c87381133657be98989c8643e
    282863a7e9
  73. wallet: fix segfault by avoiding invalid default-ctored `external_spk_managers` entry
    In the method `CWallet::LoadActiveScriptPubKeyMan`, the map
    `external_spk_managers` (or `internal_spk_managers`, if parameter
    `internal` is false) is accessed via std::map::operator[], which means
    that a default-ctored entry is created with a null-pointer as value, if
    the key doesn't exist.  As soon as this value is dereferenced, a
    segmentation fault occurs, e.g. in `CWallet::KeypoolCountExternalKeys`.
    
    The bevaviour can be reproduced by the following steps (starting with empty regtest datadir):
    
    $ ./src/bitcoind -regtest -daemon
    $ ./src/bitcoin-cli -regtest -named createwallet_name=wallet descriptors=true blank=true
    $ cat regtest-descriptors.txt
    [
      {
        "desc": "tr([e4445899/49'/1'/0']tprv8ZgxMBicQKsPd8jCeBWsYLEoWxbVgzJDatJ7XkwQ6G3uF4FsHuaziHQ5JZAW4K515nj6kVVwPaNWZSMEcR7aFCwL4tQqTcaoprMKTTtm6Zg/1/*)#mr3llm7f",
        "timestamp": 1634652324,
        "active": true,
        "internal": true,
        "range": [
          0,
          999
        ],
        "next": 0
      }
    ]
    $ ./src/bitcoin-cli -regtest importdescriptors "$(cat regtest-descriptors.txt)"
    [
      {
        "success": true
      }
    ]
    $ ./src/bitcoin-cli -regtest getwalletinfo
    error: timeout on transient error: Could not connect to the server 127.0.0.1:18443 (error code 1 - "EOF reached")
    
    Bug reported by Josef Vondrlik (josef-v).
    
    Github-Pull: #23333
    Rebased-From: 6911ab95f19d2b1f60f2d0b2f3961fa6639d4f31
    227ae65254
  74. fees: Always round up fee calculated from a feerate
    When calculating the fee for a given tx size from a fee rate, we should
    always round up to the next satoshi. Otherwise, if we round down (via
    truncation), the calculated fee may result in a fee with a feerate
    slightly less than targeted.
    
    This is particularly important for coin selection as a slightly lower
    feerate than expected can result in a variety of issues.
    
    Github-Pull: #22949
    Rebased-From: 0fbaef9676a1dcb84bcf95afd8d994831ab327b6
    bd7e08e36b
  75. tests: Test for assertion when feerate is rounded down
    When calculating a txs absolute fee, if the fee is rounded down to the
    nearest satoshi, it is possible for the coin selection algorithms to
    undercalculate the fee needed. This can lead to an assertion error in
    some situations. One such scenario is added to
    rpc_fundrawtransaction.py.
    
    Github-Pull: #22949
    Rebased-From: ce2cc44afd51f3df4ee7f14ea05b8da229183923
    f66bc42957
  76. tests: Calculate fees more similarly to CFeeRate::GetFee
    Because of floating point precision issues, not all of the rounding done
    is always correct. To fix this, the fee calculation for
    assert_fee_amount is changed to better reflect how CFeeRate::GetFee does
    it.
    
    First the feerate is converted to an int representing sat/kvb. Then this
    is multiplied by the transaction size, divivided by 1000, and rounded up
    to the nearest sat. The result is then converted back to BTC (divided by
    1e8) and then rounded down to the nearest sat to avoid precision errors.
    
    Github-Pull: #22949
    Rebased-From: 80dc829be7f8c3914074b85bb4c125baba18cb2c
    c768bfa08a
  77. build: patch qt to explicitly define previously implicit header include
    macOS Monterey has refactored some includes such that implicitly defined headers were no longer exposed and that in turns breaks building Qt on macOS 12.
    
    Additional Resources:
     - https://bugreports.qt.io/browse/QTBUG-97855
     - https://codereview.qt-project.org/c/qt/qtbase/+/378706
     - https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/cocoa?id=dece6f5840463ae2ddf927d65eb1b3680e34a547
    
    Github-Pull: #23580
    Rebased-From: 8196b0a2bc63c35769eca213cba4a5844a737b90
    801b0f05aa
  78. ci: Replace soon EOL hirsute with jammy
    Github-Pull: #23504
    Rebased-From: fafa66e424cd0c4a4ac3175e0d3b15a54626aa4b
    2f60fc6d8c
  79. test: Call ceildiv helper with integer
    It returns an incorrect result when called with a Decimal,
    for which the "//" operator works differently.
    Also drop unnecessary call to satoshi_round.
    
    Github-Pull: #24239
    Rebased-From: d1fab9d5d27a2db2546db0f610e0f6929ec4864e
    269553fe73
  80. Merge bitcoin/bitcoin#23276: [22.x] Backports for 22.x
    269553fe73b17f8acda3071a48836c66092d31d0 test: Call ceildiv helper with integer (Martin Zumsande)
    2f60fc6d8c6b1d8e74c340fed495b76deac4a048 ci: Replace soon EOL hirsute with jammy (MarcoFalke)
    801b0f05aaf974ab9b0e3f7b59948564638d593f build: patch qt to explicitly define previously implicit header include (Kittywhiskers Van Gogh)
    c768bfa08af034c744402d4294cc323d653b97b8 tests: Calculate fees more similarly to CFeeRate::GetFee (Andrew Chow)
    f66bc42957ad2e86982c8c487f821683d3009b43 tests: Test for assertion when feerate is rounded down (Andrew Chow)
    bd7e08e36bf2e1238ddf8cc01433f8db82f848c9 fees: Always round up fee calculated from a feerate (Andrew Chow)
    227ae652542451834faddbaffb54fc384e9156e6 wallet: fix segfault by avoiding invalid default-ctored `external_spk_managers` entry (Sebastian Falbesoner)
    282863a7e9ddfb14ef02182945ca1978699dbe52 refactor: include a missing <limits> header in fs.cpp (Joan Karadimov)
    7febe4f3c7f482390c4aa6fc528e2ee3fb34b142 consensus: don't call GetBlockPos in ReadBlockFromDisk without lock (Jon Atack)
    c671c6f4706d17cccfe5c35950235f8777a7975f the result of CWallet::IsHDEnabled() was initialized with true. (Saibato)
    a5a153882609c8d77118a88a9a440d4966c8d0ef build, qt: Fix typo in QtInputSupport check (Hennadii Stepanov)
    c95b188fc08387d0a89668e56bce3a4fad1ee611 system: skip trying to set the locale on NetBSD (fanquake)
    c1cdeddd905b5444eac330d565b297b3d4941c5d guix: Fix powerpc64(le) dynamic linker name (Carl Dong)
    92d44ff36cc12e34f93bfcc4ec31ffae8787100c doc: Add 23061 release notes (MarcoFalke)
    db76db7329f6357c5226cd08611fe0f669c002af Fix (inverse) meaning of -persistmempool (MarcoFalke)
    85c78e08ec857e51a9748d1a2492d1d3794b221a build: Restrict check for CRC32C intrinsic to aarch64 (W. J. van der Laan)
    
    Pull request description:
    
      Collecting backports for the 22.1 release. Currently:
      * https://github.com/bitcoin/bitcoin/pull/23045
      * https://github.com/bitcoin/bitcoin/pull/23061
      * https://github.com/bitcoin/bitcoin/pull/23148
      * https://github.com/bitcoin/bitcoin/pull/22390
      * https://github.com/bitcoin/bitcoin/pull/22820
      * https://github.com/bitcoin/bitcoin/pull/22781
      * https://github.com/bitcoin/bitcoin/pull/22895
      * https://github.com/bitcoin/bitcoin/pull/23335
      * https://github.com/bitcoin/bitcoin/pull/23333
      * https://github.com/bitcoin/bitcoin/pull/22949
      * https://github.com/bitcoin/bitcoin/pull/23580
      * https://github.com/bitcoin/bitcoin/pull/23504
      * https://github.com/bitcoin/bitcoin/pull/24239
    
    ACKs for top commit:
      achow101:
        ACK 269553fe73b17f8acda3071a48836c66092d31d0
    
    Tree-SHA512: b3a57ea241be7a83488eeb032276f4cf82a0987aada906a82f94a20c4acf9f2397708249dcecbe1c7575e70d09c60b835233d4718af4013c7bc58896c618274c
    9b5f674abb
  81. fs: Make compatible with boost 1.78
    Github-Pull: #24104
    Rebased-From: dc5d6b0d4793ca978f71f69ef7d6b818794676c2
    021c3d892f
  82. Merge bitcoin/bitcoin#24476: [22.x] fs: Make compatible with boost 1.78
    021c3d892fb6b801143bb433e85f329fd250c97d fs: Make compatible with boost 1.78 (Andrew Chow)
    
    Pull request description:
    
      Backports #24104 to the `22.x` branch to fix the build with Boost 1.78.0.
    
    ACKs for top commit:
      achow101:
        ACK 021c3d892fb6b801143bb433e85f329fd250c97d
      gruve-p:
        ACK https://github.com/bitcoin/bitcoin/pull/24476/commits/021c3d892fb6b801143bb433e85f329fd250c97d
      hebasto:
        ACK 021c3d892fb6b801143bb433e85f329fd250c97d
    
    Tree-SHA512: 439c463c36b15a8507d58c3d9c6a02f6dfb209bcc85a8ed39a9cc3fe023530f9f74cc3fd545710b0bb15b4ff6afae802471c6819db7cd851dddd537938e0eef5
    cb13ba6d11
  83. qt: Avoid crash on startup if int specified in settings.json
    Fix GUI startup crash reported by Rspigler in
    https://github.com/bitcoin/bitcoin/issues/24457 that happens if
    settings.json contains an integer value for any of the configuration
    options which GUI settings can currently clash with (-dbcache, -par,
    -spendzeroconfchange, -signer, -upnp, -natpmp, -listen, -server, -proxy,
    -proxy, -onion, -onion, -lang, and -prune).
    
    Fix is a one-line change in ArgsManager::GetArg.
    
    Github-Pull: bitcoin/bitcoin#24498
    Rebased-From: 5b1aae12ca4a99c6b09349981a4902717a6a5d3e
    344537cf04
  84. Merge bitcoin/bitcoin#25180: [22.x] qt: Avoid crash on startup if int specified in settings.json
    344537cf04373d757522e042f29f25a0f9595404 qt: Avoid crash on startup if int specified in settings.json (Ryan Ofsky)
    
    Pull request description:
    
      Backport of #24498 to 22.x branch
    
      This was already backported to the 23.x branch in #24511, but vasild discovered the issue can affect 22.x as well https://github.com/bitcoin/bitcoin/pull/15936#issuecomment-1115992866:
    
      > While testing this, 22.x crashes if `settings.json` contains `"prune": 1234` due to #24498 which was fixed in 23.0. So, if this PR is included in 24.x and a user upgrades to 24.x and then downgrades to 22.x his 22.x would crash at startup.
    
      It's not very important to backport this to 22.x because I can work around the issue other ways, but I do see 22.x is listed as an active branch https://github.com/bitcoin/bitcoin/branches, so if there is another 22.x release, it would be nice to have this fix and not have a wonky uncaught univalue exception waiting to be hit
    
    ACKs for top commit:
      laanwj:
        ACK 344537cf04373d757522e042f29f25a0f9595404
    
    Tree-SHA512: 479f7fb4b4b73ec85f28e97af9b21d54245b8ab4d246e50134b37f1726fe3c57cf388fe4973f8ccf1b9efa7663166d1fbeb631758b39d4490b5eab82d0c83d77
    04fdd644b4
  85. rpc: Capture potentially large UniValue by ref for rpcdoccheck
    Github-Pull: 25237
    Rebased-From: 20ff4991e548630d7bb5e491fa4d69ec49369872
    7fcac96597
  86. Add pure Python RIPEMD-160
    Github-Pull: 23716
    Rebased-From: ad3e9e1f214d739e098c6ebbd300da5df1026a44
    52036915fa
  87. Swap out hashlib.ripemd160 for own implementation
    Github-Pull: 23716
    Rebased-From: 5b559dc7ecf37ab1604b75ec8ffe8436377a5fb1
    ea3e028bcc
  88. Merge bitcoin/bitcoin#25242: [22.x] rpc: Capture potentially large UniValue by ref for rpcdoccheck
    7fcac96597218691724002c2b8ecb3dbcf60bf06 rpc: Capture potentially large UniValue by ref for rpcdoccheck (Martin Zumsande)
    
    Pull request description:
    
    ACKs for top commit:
      fanquake:
        ACK 7fcac96597218691724002c2b8ecb3dbcf60bf06
    
    Tree-SHA512: e1e321ce49f5696d1b08d4a9cf77bdc90bdeedbe776d19fe13443d898b966c046593d20758376db4edb5baf17cb925a2ff21201889af977456c18cc43094a683
    34cb63e895
  89. Merge bitcoin/bitcoin#25250: [22.x] test: replace hashlib.ripemd160 with an own implementation
    ea3e028bcc99b2e3ddc4c9e96eb487f4e5418b3f Swap out hashlib.ripemd160 for own implementation (Pieter Wuille)
    52036915fa774b80dec853c1c79a302f474d35ac Add pure Python RIPEMD-160 (Pieter Wuille)
    
    Pull request description:
    
      Needed to unbreak the tsan CI task, which runs the test on Ubuntu Jammy, which has ripemd160 removed from openssl.
    
    ACKs for top commit:
      fanquake:
        ACK ea3e028bcc99b2e3ddc4c9e96eb487f4e5418b3f - backport looks correct. tsan job has [timed out](https://github.com/bitcoin/bitcoin/pull/25250/checks?check_run_id=6657882409).
    
    Tree-SHA512: 1117567c5de8287d6c4ada5cdc5990116808da9349f5aa3633c01b7aa12ea0ae6208418c7082e46dfde584b43807dce5ade5e8850cc392e1e0d42d9897a70017
    d2e0c27e45
  90. windeploy: Renewed windows code signing certificate
    Github-Pull: #25201
    Rebased-From: 7e9fe6d800ee8f3381e8f6ad2371f7775c68fad9
    c4aacfbf65
  91. Merge bitcoin/bitcoin#25317: 22.x Backport new Windows code signing certificate
    c4aacfbf6510261edc3b3f4b3d78db95fedfb92c windeploy: Renewed windows code signing certificate (Andrew Chow)
    
    Pull request description:
    
      Backports:
      - https://github.com/bitcoin/bitcoin/pull/25201
    
    ACKs for top commit:
      LarryRuane:
        utACK c4aacfbf6510261edc3b3f4b3d78db95fedfb92c
    
    Tree-SHA512: cce6c85cecf0014e0b123b42e454db2123becf02f4274b1c355f69d8e7b8f77cd12af86adc251da8146b7bd3a55e9f47e3c1ed12f70c5267b3ac3283634526ec
    cfb0eea91e
  92. Prevent data race for `pathHandlers`
    Github-Pull: bitcoin/bitcoin#25983
    Rebased-From: 4296dde28757d88a7076847484669fb202b47bc8
    2c6c628ab9
  93. Revert "build: Use Homebrew's sqlite package if it is available"
    This reverts ee7b84e63cbeadd5e680d69ff0548275581e9241 from #20527.
    This change was made without any rationale, maybe other than a brew
    installed version might be newer, and that's "better". However when
    building from source on macOS, it just results in drastically worse
    perofrmance, and results in issues / confusions like #25724.
    
    Resolves the "build from source" portion of #25724. Building from
    depends is still not ideal, however I have some other changes that might
    help improve things in that case.
    
    The difference in performance can be observed using the example from
    https://github.com/bitcoin/bitcoin/issues/25724#issuecomment-1213554922,
    but minified to only 10 descriptors. i.e:
    ```bash
    time src/bitcoin-cli createwallet speedy true
    time src/bitcoin-cli importdescriptors '[
      {"desc":"raw(00145846369f3d6ba366d6f5a903fb5cf4dca3763c0e)#k9wh6v62","timestamp":"now"},
      {"desc":"raw(001420800aabf13f3a4c4ce3ce4c66cecf1d17f21a6e)#6m0hlfh4","timestamp":"now"},
      {"desc":"raw(0014c6bf9715e06d73ebf9b3b02d5cc48d24d8bbabc1)#wyavh36r","timestamp":"now"},
      {"desc":"raw(00141ba7807b3f46af113beaea5c698428ce7138cd8a)#jctdsups","timestamp":"now"},
      {"desc":"raw(00140c1bd27f10fff01b36ddf3c1febaa1acff19b080)#9s6nc3pk","timestamp":"now"},
      {"desc":"raw(00141226e31987e4bc2e63c0ee12908f675e40464b20)#9pp7qm39","timestamp":"now"},
      {"desc":"raw(0014f73f149f7503960a5e849c6ee7a8a8c336f631cb)#qtkxv9fc","timestamp":"now"},
      {"desc":"raw(0014c8ccb4d81ffc769fc5fdd8d7eed69b0e0cae5749)#hn39qayv","timestamp":"now"},
      {"desc":"raw(001498565aead2d67a22a6021d55210f2a917fc22169)#6ar3vwsx","timestamp":"now"},
      {"desc":"raw(001403013248ac0cd9eabe176cad162cda2a19f771e1)#4m47mukd","timestamp":"now"}
    ]'
    ```
    
    Running master, when building from souce and using brew installed
    sqlite, this takes ~3.4s. With this PR, the same operation takes ~0.3s.
    
    Github-Pull: #25985
    Rebased-From: d216d714aae36e6f1c95f82aef81a0be74dee2f3
    bf42d7de56
  94. doc: remove brew install sqlite from macOS docs 63d2ee9a50
  95. Merge bitcoin/bitcoin#26350: [22.x] Revert "build: Use Homebrew's sqlite package if it is available"
    63d2ee9a50c5690df08f25e6840d10be8232f106 doc: remove brew install sqlite from macOS docs (fanquake)
    bf42d7de56404b0afe23d81c6b758d1e9cffdf7b Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)
    
    Pull request description:
    
      Backport of https://github.com/bitcoin/bitcoin/pull/25985 to the 22.x branch.
    
    ACKs for top commit:
      hebasto:
        ACK 63d2ee9a50c5690df08f25e6840d10be8232f106, I have reviewed the code and it looks OK, I agree it can be merged.
      stickies-v:
        re-ACK [63d2ee9](https://github.com/bitcoin/bitcoin/commit/63d2ee9a50c5690df08f25e6840d10be8232f106)
    
    Tree-SHA512: 66738fc67df86db536a500fe253257976208b31773b891d6b6865b795ba4c933345febcc81773db159d3e1078810dbc8053fe63a7e9acad25b28d02dbf2687e8
    2d3161fdd5
  96. Merge bitcoin/bitcoin#26034: [22.x] Prevent data race for `pathHandlers`
    2c6c628ab95b018ac7ce6595954644bf9197ce35 Prevent data race for `pathHandlers` (Hennadii Stepanov)
    
    Pull request description:
    
      Backport of https://github.com/bitcoin/bitcoin/pull/25983 to the 22.x branch.
    
    ACKs for top commit:
      dergoegge:
        ACK 2c6c628ab95b018ac7ce6595954644bf9197ce35
    
    Tree-SHA512: 9b172f73407fdd5a79e67ed1b2b3b7c6e7989ea1de6757c839ee7040d62ebbd87d10770c6fcb39709a07d52345dc9b7b244ef2b490c9ad8a656ff8ad4d618a01
    6164618964
  97. Adjust `.tx/config` for new Transifex CLI
    The old Transifex Command-Line Tool is considered deprecated (as of
    January 2022) and will sunset on Nov 30, 2022.
    
    See: https://github.com/transifex/cli/blob/devel/README.md#migrating-from-older-versions-of-the-client
    
    An accompanying PR: https://github.com/bitcoin-core/bitcoin-maintainer-tools/pull/142
    
    Github-Pull: #26321
    Rebased-From: d6adbb7ee1de661ad89879609eecd11129322405
    d174db0f3d
  98. rpc: fix crash in deriveaddresses when derivation index is 2147483647
    2147483647 is the maximum positive value of a signed int32, and - currently -
    the maximum value that the deriveaddresses bitcoin RPC call accepts as
    derivation index due to its input validation routines.
    
    Before this change, when the derivation index (and thus range_end) reached
    std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
    is declared as int, and as such 32 bits in size on most platforms) would be
    incremented at the end of the first iteration and then warp back to
    -2147483648. This caused SIGABRT in bitcoind and a core dump.
    
    This change assigns "i" an explicit size of 64 bits on every platform,
    sidestepping the problem.
    
    Fixes #26274.
    
    Github-Pull: #26275
    Rebased-From: addf9d6502db12cebcc5976df3111cac1a369b82
    db20d278e2
  99. rpc: add non-regression test about deriveaddresses crash when index is 2147483647
    This test would cause a crash in bitcoind (see #26274) if the fix given in the
    previous commit was not applied.
    
    Github-Pull: #26275
    Rebased-From: 9153ff3e274953ea0d92d53ddab4c72deeace1b1
    403de22119
  100. Merge bitcoin/bitcoin#26413: [22.1] Backports
    403de22119f5c65a9fd43a665c469512b967ed38 rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
    db20d278e212b2a393a331624184a61fab6c05c9 rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
    d174db0f3ded1055555b998225090ebb130ca00d Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)
    
    Pull request description:
    
      Currently backports:
      * https://github.com/bitcoin/bitcoin/pull/26275
      * https://github.com/bitcoin/bitcoin/pull/26321
    
      Will leave open to collect backports for 22.1,
    
    ACKs for top commit:
      MarcoFalke:
        cherry-pick ACK 403de22119f5c65a9fd43a665c469512b967ed38  🏔
    
    Tree-SHA512: f9095a5cad52ecb9580fcaf173a05148dce382ac773a6116e2aed47009402bdfa6cbce62e488fe96120f7a0a81a623eb3e0e4539fa88670adb8c14cf5e334fa5
    4ff9be5c33
  101. build: Bump version to 22.1.0rc1 b63309c58a
  102. doc: Update manual pages for 22.1.0rc1 54e89eed9e
  103. doc: update version number in bips.md to v22.1 3343ec5a4f
  104. qt: 22.1rc1 translations update 0bba3a70a1
  105. Merge bitcoin/bitcoin#26431: [22.x] qt: 22.1rc1 translations update
    0bba3a70a1366f03f7cd90f51516aa3ef12cf2eb qt: 22.1rc1 translations update (Hennadii Stepanov)
    
    Pull request description:
    
      This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
    
      According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v22.1rc1` tagging.
    
      Will keep this PR updated regularly until merging.
    
      The `bitcoin_vi.ts` translation is damaged, therefore its changes were rejected manually.
    
    ACKs for top commit:
      jarolrod:
        ACK 0bba3a70a1366f03f7cd90f51516aa3ef12cf2eb
    
    Tree-SHA512: 85ec2eeb83d7d8dc6ea3ac5ea7da99ab127e930ab11023f69728c206483526b3b0e50058d1349bc569e23313670c67d4e66044b3577dd763d26c595756721a9b
    24e6b7e9e7
  106. Merge bitcoin/bitcoin#26430: [22.x] Bump version to 22.1.0rc1
    3343ec5a4f604b4b1798d0c8265c57d89bd738ce doc: update version number in bips.md to v22.1 (fanquake)
    54e89eed9eb9c6877c1a8bed3d2f224721fc49f3 doc: Update manual pages for 22.1.0rc1 (fanquake)
    b63309c58a71eb7e34b0bcab0d57199ac025daeb build: Bump version to 22.1.0rc1 (fanquake)
    
    Pull request description:
    
      Bump the version to 22.1rc1
      Generate the man pages.
      Update the version number in bips.md.
    
    ACKs for top commit:
      MarcoFalke:
        Thanks, Concept ACK 3343ec5a4f604b4b1798d0c8265c57d89bd738ce
    
    Tree-SHA512: fcfd7df493d316789072333396d6bceb77ae471e2a9ed06266d6128aa3746ac3184dcd9e9c20aecaf5c8906f82edee39a135fad9ae5c7f4c11b686e385aa3ed2
    a46e17832f
  107. Disallow encryption of watchonly wallets
    Watchonly wallets do not have any private keys to encrypt. It does not
    make sense to encrypt such wallets, so disable the option to encrypt
    them.
    
    This avoids an assertion that can be hit when encrypting watchonly descriptor
    wallets.
    
    Github-Pull: bitcoin-core/gui#631
    Rebased-From: 4c495413e138ec1dd6874e41b44e689f0c15e0e3
    7b7bbc145a
  108. Fixes bitcoin#26490 by preventing notifications
    MacOS 13 sends a window focus change notification after the main
    window has been destroyed but before the QTApplication has been
    destroyed. This results in the menu bar receiving a notification
    despite it no longer existing. The solution is to pass the main
    window as context when subscribing to the notifications. Qt
    automatically unsubscribes to notifications if the sender OR
    context is destroyed.
    
    Github-Pull: bitcoin-core/gui#680
    Rebased-From: 8a5014cd8a05b3ab86ae34a47653a82ce11bdf17
    272fa25304
  109. Merge bitcoin/bitcoin#26521: [22.x] GUI backports
    272fa2530493b13e4bf7c978e9768162f10ddf7f Fixes bitcoin#26490 by preventing notifications (John Moffett)
    7b7bbc145aedf149c6d8675c7e252b0767bb8652 Disallow encryption of watchonly wallets (Andrew Chow)
    
    Pull request description:
    
      Backports:
      - bitcoin-core/gui#631
      - bitcoin-core/gui#680
    
    ACKs for top commit:
      jarolrod:
        ACK 272fa2530493b13e4bf7c978e9768162f10ddf7f
    
    Tree-SHA512: 4c285327464240ace3884d9653cc46d8e7b60b888f3b096ceb4fd5000d084ea8d97f1ef86ca1dea8dc7d3be8cdd2da19eece2b8c5b7351c5961b50b78fcd4c4d
    c192b86c0b
  110. build: Bump version to 22.1rc2 6af7af61c9
  111. doc: Update manual pages for 22.1rc2 6523107698
  112. doc: add release notes for 22.1rc2 d9bd628ac9
  113. Merge bitcoin/bitcoin#26547: [22.x] Bump version to 22.1rc2 & add release notes
    d9bd628ac9d1e6272cb2f8f67b86376a13233f90 doc: add release notes for 22.1rc2 (fanquake)
    65231076983bb089de13f99f32cb37730cfced9b doc: Update manual pages for 22.1rc2 (fanquake)
    6af7af61c90197326a77e1248fdca98722ab2efd build: Bump version to 22.1rc2 (fanquake)
    
    Pull request description:
    
      Bump the version to 22.1rc2.
      Regenerate the man pages.
      Add WIP 22.1 release notes.
    
      Changes since rc1:
      - https://github.com/bitcoin-core/gui/pull/631
      - https://github.com/bitcoin-core/gui/pull/680
    
    ACKs for top commit:
      stickies-v:
        ACK [d9bd628](https://github.com/bitcoin/bitcoin/commit/d9bd628ac9d1e6272cb2f8f67b86376a13233f90)
      jarolrod:
        ACK d9bd628ac9d1e6272cb2f8f67b86376a13233f90
    
    Tree-SHA512: 70b1723fd5f77a93763ffc153b18c5d6c11c8294828406bd5e93daf9e8aac5e62306280ef6601508b4d22e1cce5136687afc826be6d159816071549849c40f91
    9182b2fbae
  114. depends: update qt 5.12 url to archive location
    QT 5.12 cannot be downloaded from https://download.qt.io/official_releases/qt/ It can be access from https://download.qt.io/archive/qt/
    28fc72f781
  115. Merge bitcoin/bitcoin#26633: depends: update qt 5.12 url to archive location
    28fc72f7819768db13a01744731dd609553939c8 depends: update qt 5.12 url to archive location (BlackcoinDev)
    
    Pull request description:
    
      QT 5.12 cannot be downloaded from https://download.qt.io/official_releases/qt/ It can be access from https://download.qt.io/archive/qt/
    
    ACKs for top commit:
      hebasto:
        ACK 28fc72f7819768db13a01744731dd609553939c8, verified a new link.
      jarolrod:
        ACK 28fc72f7819768db13a01744731dd609553939c8
    
    Tree-SHA512: 8aeb34d0e0f2fc8713306ee81a4520da4149552c068102a36aaaf2575544322b43c977797aba169b57333013219fa683e651225e087696dec2d835270d4dc9b5
    1b05169c32
  116. build: bump version to 22.1 final 99e0ccc742
  117. doc: update manual pages for 22.1 45355ec10b
  118. doc: update release notes for 22.1 8cc07f7fff
  119. Merge bitcoin/bitcoin#26639: [22.x] bump version to v22.1
    8cc07f7fffa3d642d90614af20a47c0a2a229e40 doc: update release notes for 22.1 (fanquake)
    45355ec10b361cfccc4d1d616edf1dca216c10e2 doc: update manual pages for 22.1 (fanquake)
    99e0ccc7426935d5680bc982f25eef368bd53875 build: bump version to 22.1 final (fanquake)
    
    Pull request description:
    
      Bump version to v22.1.
      Regenerate manpages.
      Add the only change since rc2 (https://github.com/bitcoin/bitcoin/pull/26633) to the release notes. That change does not require another rc.
    
    ACKs for top commit:
      hebasto:
        ACK 8cc07f7fffa3d642d90614af20a47c0a2a229e40, I have reviewed the changes and they look OK.
    
    Tree-SHA512: 1d75235e41ac64f80d3b209934460cec05af1f4ddcd426bf941316374de7dc7d909de2e3dffe9716559b9422262c39724ff330cdbb3774b856e4e6bb8a10248f
    6fd35e2cb1
  120. Add missing includes to fix gcc-13 compile error
    Github-Pull: #26924
    Rebased-From: fadeb6b103cb441e0e91ef506ef29febabb10715
    c21e6a9ce2
  121. 23.x Add missing includes to fix gcc-13 compile error
    Additional include fixes are required to make the 23.x branch compile
    using GCC 13.
    
    Github-Pull: #26921
    Rebased-From: af862661654966d5de614755ab9bd1b5913e0959
    ea584a617c
  122. Merge bitcoin/bitcoin#26927: [22.x] Backports
    ea584a617c6853eb1f9740600cd9db75d77948eb 23.x Add missing includes to fix gcc-13 compile error (fanquake)
    c21e6a9ce210e0b0d1f4081ebd5dfefbe3c7af2d Add missing includes to fix gcc-13 compile error (MarcoFalke)
    
    Pull request description:
    
      Backports:
      * https://github.com/bitcoin/bitcoin/pull/26924
    
    ACKs for top commit:
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26927/commits/ea584a617c6853eb1f9740600cd9db75d77948eb
    
    Tree-SHA512: e231d2e3e17f884eb9eb63f2f31829cef3e64351c9d6b90abeef421c366cef228a0a87b9c3a07c840879bd514ebe33b554fb62947c13bd05806865e59323cae7
    a896f61290
  123. pinheadmz closed this on Apr 18, 2023

  124. fanquake locked this on Apr 18, 2023
  125. fanquake renamed this:
    2023
    .
    on Apr 18, 2023
  126. fanquake deleted a comment on Apr 18, 2023
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:13 UTC

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