. #27367

pull Doodoobrown23 wants to merge 128 commits into bitcoin:master from Doodoobrown23:SHIT changing 177 files +45716 −14588
  1. Doodoobrown23 commented at 6:29 AM on March 30, 2023: none

    No description provided.

  2. build: Bump version to 24.0rc1 7869b169f2
  3. doc: Generate manual pages for 24.0rc1 0637169760
  4. doc: Generate example bitcoin conf for 24.0rc1 bd44c69238
  5. doc: update version number in bips.md to v24.0 ab4a32b8af
  6. Merge bitcoin/bitcoin#26122: [24.x] Bump version to 24.0rc1
    ab4a32b8aff14da3f6d116b6a81ad0bb29397f1c doc: update version number in bips.md to v24.0 (fanquake)
    bd44c69238e3d147eeb3d77428445850e4cec1e3 doc: Generate example bitcoin conf for 24.0rc1 (fanquake)
    06371697600c260e8c22683ad5a4cb6a97977443 doc: Generate manual pages for 24.0rc1 (fanquake)
    7869b169f22ab51cca0d840fe51bc53dce2a0f3a build: Bump version to 24.0rc1 (fanquake)
    
    Pull request description:
    
      Bump the version to 24.0rc1
      Generate the man pages.
      Generate the example bitcoin conf file.
      Update the version number in bips.md.
    
    ACKs for top commit:
      achow101:
        ACK ab4a32b8aff14da3f6d116b6a81ad0bb29397f1c
    
    Tree-SHA512: bb26216a4114b3c7e7a4b44abfee78a119b4b310b36bfac5124aa6cfc2d0a27ad30fa4b0d490fc214281973dde2c220e3c00e99b110ea5c6ccbe906f17ae3c89
    def75f0fb5
  7. Merge bitcoin/bitcoin#26123: [24.x] doc: Move -permitbaremultisig to the relay help category
    faf5bb87dab0984cc2d3ad02da21f3470243d17f doc: Move -permitbaremultisig to the relay help category (MacroFake)
    
    Pull request description:
    
      Identical commit from https://github.com/bitcoin/bitcoin/pull/26119
    
    ACKs for top commit:
      glozow:
        ACK faf5bb87dab0984cc2d3ad02da21f3470243d17f
      jarolrod:
        ACK faf5bb87dab0984cc2d3ad02da21f3470243d17f
    
    Tree-SHA512: 42d3fd541703cbea7d2afff54dc7a42dac475c70c59ed124aba59cae6a87898040d964201e6cc6098e202f7b87bfa98513b3efd3c25d9fe52dc0ef55f3540bef
    5964b8339a
  8. Merge bitcoin/bitcoin#26144: [24.x] wallet: Fix nNextResend data race in ResubmitWalletTransactions
    fad61573ed547615f73710cb59b2fb0ecafed127 Fix nNextResend data race in ResubmitWalletTransactions (MacroFake)
    
    Pull request description:
    
      Identical commit id from https://github.com/bitcoin/bitcoin/pull/26132
    
    Top commit has no ACKs.
    
    Tree-SHA512: 9404e2e10ba059c412e282abbf9bef581cf5ddcac36cf05da1dff3927b5015e12469238c402c28308a774fdd969d1039e595d5e2caca0902977ae0a72746ff43
    ce3cb2bbe7
  9. Merge bitcoin/bitcoin#26145: [24.x] init: abort if i2p/cjdns are chosen via -onlynet but are unreachable
    68209a7b5c0326e14508d9cf749771605bd6ffe7 rpc: make addpeeraddress work with cjdns addresses (Martin Zumsande)
    a8a9ed67cc447d204304ccfd844c45fd76486c6a init: Abort if i2p/cjdns are chosen via -onlynet but unreachable (Martin Zumsande)
    
    Pull request description:
    
      Identical commit from https://github.com/bitcoin/bitcoin/pull/25989
    
    ACKs for top commit:
      fanquake:
        ACK 68209a7b5c0326e14508d9cf749771605bd6ffe7
    
    Tree-SHA512: eec335df06b4c209cfe3473cb623828effd00c45a5dd605bb920edd265de1c789627482b005a51e89b8fc79cc4c5d26ff1fc306f2e4573897c5c7f083aa22861
    05f7937810
  10. Merge bitcoin/bitcoin#26160: [24.x] fuzz: Avoid timeout in bitdeque fuzz target
    fa4ba04c157b83b827f7541fa007710bd6211fe7 fuzz: Remove no-op call to get() (MacroFake)
    fa642286b83f29cb0ac0c8d4c7d8eba10600402c fuzz: Avoid timeout in bitdeque fuzz target (MacroFake)
    
    Pull request description:
    
      Identical commit from https://github.com/bitcoin/bitcoin/pull/26012
    
      Not strictly required for 24.x, but I guess it can't hurt to avoid timeouts.
    
    Top commit has no ACKs.
    
    Tree-SHA512: 4d4bfb645e3513bf22cc9c64bdcbde2ad9e28b5a07ab07a02fbfa19df02147b371d2ca794ab3a095c22b66781832055e0de3af908aaead4c26ea12189e05cbe3
    2a56cc1f58
  11. Merge bitcoin/bitcoin#26178: [24.x] Bugfix: Wallet: Lock cs_wallet for SignMessage
    a60d9eb9e6b6a272a3fca8981d89a55955dced55 Bugfix: Wallet: Lock cs_wallet for SignMessage (Luke Dashjr)
    
    Pull request description:
    
      (Clean merge of #26130 to 24.x branch)
    
    Top commit has no ACKs.
    
    Tree-SHA512: 821e19d222cc1eb9a6b957ec87d48cfb00b2c5b8182682ac57d9c76785b667ad9c71444e6bf0f53177c06d5fb39e72dbfc82d7debe4b1597699eefaf3001d08d
    ca8d2c4b43
  12. Merge bitcoin/bitcoin#26197: [24.x] test: Avoid race in disconnect_nodes helper
    faeea28753a94c45618c1b0ba83bb8700c53009a test: Avoid race in disconnect_nodes helper (MacroFake)
    
    Pull request description:
    
      Backport of https://github.com/bitcoin/bitcoin/pull/26138
    
    ACKs for top commit:
      fanquake:
        ACK faeea28753a94c45618c1b0ba83bb8700c53009a
    
    Tree-SHA512: f967c38750220bd6c245db953055f8e6d5402b3a24081ca03795a8403c2ed4eab772b2e9c2d3b581c3bc55d191dd4e22711b5f97d39856d676f10799fc64a9c7
    f34c98a460
  13. Merge bitcoin/bitcoin#26227: [24.x] fuzz: Limit outpoints.size in txorphan target to avoid OOM
    fa5752da6a58fadd3f79f47ff98b796d9768872a fuzz: Limit outpoints.size in txorphan target to avoid OOM (MacroFake)
    
    Pull request description:
    
      Identical commit from https://github.com/bitcoin/bitcoin/pull/26216
    
    ACKs for top commit:
      fanquake:
        ACK fa5752da6a58fadd3f79f47ff98b796d9768872a
    
    Tree-SHA512: fa9bd1defb71b6bc2c62a6cdec5958576cafa0b41cdfebe11d48dd13505eb4a5e0e1d2ce55c0ed561d2a872dab6bb10bd71d941899b3b0eb0b2c38e6b3691ed5
    4be489d4d4
  14. wallet: Use correct effective value when checking target 21f96f40d1
  15. test: Check external coin effective value is used in CoinSelection 2730ed2b0d
  16. Merge bitcoin/bitcoin#26242: [24.x] wallet: Use correct effective value when checking target
    2730ed2b0d6c5cd8e029c67074aac11e610b19fd test: Check external coin effective value is used in CoinSelection (Aurèle Oulès)
    21f96f40d18e0b052cb4ef24cda7847051ca16d8 wallet: Use correct effective value when checking target (Aurèle Oulès)
    
    Pull request description:
    
      backport of #26203
    
    ACKs for top commit:
      jarolrod:
        ACK 2730ed2b0d6c5cd8e029c67074aac11e610b19fd
    
    Tree-SHA512: ce84ac8d47861f290a26d572512467e89ec6ac27973d954d76245b6c6fdea01e36f2e0bce41599abfe14d0014335ebd17b990177771803de39406097973186ca
    2e5706d601
  17. qt: 24.0rc2 translations update c1860341a7
  18. Merge bitcoin/bitcoin#26141: qt: 24.0rc2 translations update
    c1860341a72e7d813bfaa0f2c829850fd6738c90 qt: 24.0rc2 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-core/bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool, and it is supposed to be merged just before `v24.0rc2` tagging.
    
    Top commit has no ACKs.
    
    Tree-SHA512: 4c31452dd36509b0c1f0f5f499b9a3add53409a592d70625c14d7e249de48e7fce65777c9a78882bd37dc345362f45fbae117aa80cec342e6352fc43ad9306c3
    3f385c912e
  19. docs: Add 371 to bips.md
    GitHub-Pull: #26124
    Rebased-From: d3d6a18f711fc4c3841679e7f75e9837848dde13
    da6fba6fe7
  20. Correct sanity-checking script_size calculation
    GitHub-Pull: #26149
    Rebased-From: 648f6950cd8d9ac767d76a1e302f37c611936a7a
    c97d924880
  21. p2p: ProcessHeadersMessage(): fix received_new_header
    Follow-up to #25717. The commit "Utilize anti-DoS headers download
    strategy" changed how this bool variable is computed, so that its value
    is now the opposite of what it should be.
    
    GitHub-Pull: #26172
    Rebased-From: bdcafb913398f0cdaff9c880618f9ebfc85c7693
    7e0bcfbfef
  22. contrib: Fix capture_output in getcoins.py
    Our required Python version 3.6.12 does not support `capture_output` as
    a subprocess.run argument; this was added in python 3.7.
    
    We can emulate it by setting stdout and stderr to subprocess.PIPE
    
    Github-Pull: #26212
    Rebased-From: be59bd17ec753af7cc763474f2432d12bfc88c2f
    997faf6b6c
  23. index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability
    Since commit f08c9fb0c6a799e3cb75ca5f763a746471625beb from PR
    https://github.com/bitcoin/bitcoin/pull/21726, index
    `BlockUntilSyncedToCurrentChain` behavior has been less reliable, and there has
    also been a race condition in the `coinstatsindex_initial_sync` unit test.
    
    It seems better for `BlockUntilSyncedToCurrentChain` to actually wait for the
    last connected block to be fully processed, than to be able to return before
    prune locks are set, so this switches the order of `m_best_block_index =
    block;` and `UpdatePruneLock` statements in `SetBestBlockIndex` to make it more
    reliable.
    
    Also since commit f08c9fb0c6a799e3cb75ca5f763a746471625beb, there has been a
    race condition in the `coinstatsindex_initial_sync` test. Before that commit,
    the atomic index best block pointer `m_best_block_index` was updated as the
    last step of `BaseIndex::BlockConnected`, so `BlockUntilSyncedToCurrentChain`
    could safely be used in tests to wait for the last `BlockConnected`
    notification to be finished before stopping and destroying the index. But
    after that commit, calling `BlockUntilSyncedToCurrentChain` is no longer
    sufficient, and there is a race between the test shutdown code which destroys
    the index object and the new code introduced in that commit calling
    `AllowPrune()` and `GetName()` on the index object. Reproducibility
    instructions for this are in
    https://github.com/bitcoin/bitcoin/issues/25365#issuecomment-1259744133
    
    This commit fixes the `coinstatsindex_initial_sync` race condition, even though
    it will require an additional change to silence TSAN false positives,
    https://github.com/bitcoin/bitcoin/pull/26188, after it is fixed. So this
    partially addresses but does not resolve the bug reporting TSAN errors
    https://github.com/bitcoin/bitcoin/issues/25365.
    
    There is no known race condition outside of test code currently, because the
    bitcoind `Shutdown` function calls `FlushBackgroundCallbacks` not
    `BlockUntilSyncedToCurrentChain` to safely shut down.
    
    Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
    Co-authored-by: MacroFake <falke.marco@gmail.com>
    
    Github-Pull: #26215
    Rebased-From: 8891949bdcb25093d3a6703ae8228c3c3687d3a4
    5ad82a09b4
  24. refactor: remove unused locks for ResubmitWalletTransactions
    ReacceptWalletTransactions is replaced by ResubmitWalletTransactions
    which already handles acquiring the necessary locks internally.
    
    Github-Pull: #26205
    Rebased-From: 01f3534632d18c772901fb6ce22f6394eae96799
    a6fb674f96
  25. refactor: carve out tx resend timer logic into ShouldResend
    Moves the logic of whether or not transactions should actually be
    resent out of the function that's resending them. This reduces
    responsibilities of ResubmitWalletTransactions and allows
    carving out the updating of m_next_resend in a future commit.
    
    Github-Pull: #26205
    Rebased-From: 7fbde8af5c06694eecd4ce601109bd826a54bd6f
    fc8f2bfa3a
  26. wallet: only update m_next_resend when actually resending
    We only want to relay our resubmitted transactions once every 12-36h.
    By separating the timer update logic out of ResubmitWalletTransactions
    and into MaybeResendWalletTxs we avoid non-relay calls (previously in
    the separate ReacceptWalletTransactions function) from resetting that
    timer.
    
    Github-Pull: #26205
    Rebased-From: 9245f456705b285e2d9afcc01a6155e1b3f92fad
    43ced0b436
  27. refactor: revert m_next_resend to not be std::atomic
    Since m_next_resend is now only called from MaybeResendWalletTxs()
    we don't have any potential race conditions anymore, so the usage
    of std::atomic can be reverted.
    
    Github-Pull: #26205
    Rebased-From: b01682a812f0841170657708ef0e896b904fcd77
    9b438f06ec
  28. [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE
    Github-Pull: #25858
    Rebased-From: 0652dc53b291bd295caff4093ec2854fd4b34645
    1390c96c8e
  29. psbt: Fix merging of m_tap_tree
    Merging should be checking that the current PSBTOutput doesn't have a
    taptree and the other one's is copied over. The original merging had
    this inverted and would remove m_tap_tree if the other did not have it.
    
    Github-Pull: #25858
    Rebased-From: 7df6e1bb77a96eac4fbcba424bbe780636b86650
    4abd2ab18e
  30. tests: Test that PSBT_OUT_TAP_TREE is combined correctly
    Github-Pull: #25858
    Rebased-From: 22c051ca70bae73e0430b05fb9d879591df27699
    a9419eff0c
  31. psbt: Change m_tap_tree to store just the tuples
    Instead of having an entire TaprootBuilder which may or may not be
    complete, and could potentially have future changes that interact oddly
    with taproot tree tuples, have m_tap_tree be just the tuples.
    
    When needed in other a TaprootBuilder for actual use, the tuples will be
    added to a a TaprootBuilder that, in the future, can take in whatever
    other data is needed as well.
    
    Github-Pull: #25858
    Rebased-From: 0577d423adda8e719d7611d03355680c8fbacab8
    d810fde8ea
  32. psbt: Only include m_tap_tree if it has scripts
    Github-Pull: #25858
    Rebased-From: 30ff25cf37eec4b09ab40424eb5d6a4a80410955
    4d42c3a240
  33. tests: Test that PSBT_OUT_TAP_TREE is included correctly
    Github-Pull: #25858
    Rebased-From: 9e386afb67bf8fa71b72f730da1695eeb11828cd
    e2e4c2969b
  34. Merge bitcoin/bitcoin#26133: [24.x] Backports for rc2
    e2e4c2969ba753a94587985582123a596f57067b tests: Test that PSBT_OUT_TAP_TREE is included correctly (Andrew Chow)
    4d42c3a2401c63084bf94433609240daa366753e psbt: Only include m_tap_tree if it has scripts (Andrew Chow)
    d810fde8ea64b71567f8b50895ac76bcb7afbfbc psbt: Change m_tap_tree to store just the tuples (Andrew Chow)
    a9419eff0cc21d21755165e66cc0e496aab65650 tests: Test that PSBT_OUT_TAP_TREE is combined correctly (Andrew Chow)
    4abd2ab18e26999e2dafcb15a58a7979de90af34 psbt: Fix merging of m_tap_tree (Andrew Chow)
    1390c96c8e9c56e0d8348ef056f18e3e04f0f63f [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE (Jeremy Rubin)
    9b438f06ecfc3fb21d2c5219b71fb4aa77875b8c refactor: revert m_next_resend to not be std::atomic (stickies-v)
    43ced0b436b05ed12489a99bbac89f3b4c9ac035 wallet: only update m_next_resend when actually resending (stickies-v)
    fc8f2bfa3abc284ae3c1127fcf36535603ecc891 refactor: carve out tx resend timer logic into ShouldResend (stickies-v)
    a6fb674f966df27c09dc3d2b81040ce2965b2d7e refactor: remove unused locks for ResubmitWalletTransactions (stickies-v)
    5ad82a09b409d416236092062a4201e238dfd68b index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability (Ryan Ofsky)
    997faf6b6c774dc87ae730f2f08d7f4f08bdfd04 contrib: Fix capture_output in getcoins.py (willcl-ark)
    7e0bcfbfef61cb688bc92a96003c1219cad67935 p2p: ProcessHeadersMessage(): fix received_new_header (Larry Ruane)
    c97d924880eaad136c5f7776f05bf887657ccca7 Correct sanity-checking script_size calculation (Pieter Wuille)
    da6fba6fe785ba2c54f9b88dd5b1b4ceb02c18c9 docs: Add 371 to bips.md (Andrew Chow)
    
    Pull request description:
    
      Will collect backports for rc2 as they become available. Currently:
      * https://github.com/bitcoin/bitcoin/pull/25858
      * https://github.com/bitcoin/bitcoin/pull/26124
      * https://github.com/bitcoin/bitcoin/pull/26149
      * https://github.com/bitcoin/bitcoin/pull/26172
      * https://github.com/bitcoin/bitcoin/pull/26205
      * https://github.com/bitcoin/bitcoin/pull/26212
      * https://github.com/bitcoin/bitcoin/pull/26215
    
    ACKs for top commit:
      dergoegge:
        ACK e2e4c2969ba753a94587985582123a596f57067b
      achow101:
        ACK e2e4c2969ba753a94587985582123a596f57067b
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26133/commits/e2e4c2969ba753a94587985582123a596f57067b
    
    Tree-SHA512: b6374fe202561057dbe1430d4c40f06f721eb568f91e7275ae1ee7747edf780ce64620382d13ecc4b9571d931dc25d226af8284987cf35ff6a6182c5f64eb10c
    885366c67a
  35. build: Bump version to 24.0rc2 e5aec59e0f
  36. doc: Generate manual pages for 24.0rc2 c349096fa2
  37. doc: Generate example bitcoin conf for 24.0rc2 d68b6abeb8
  38. Merge bitcoin/bitcoin#26309: [24.x] Bump version to 24.0rc2
    d68b6abeb844daa907c7d8c103efac4092de34c0 doc: Generate example bitcoin conf for 24.0rc2 (fanquake)
    c349096fa26171a6753dc114252d7cecdc9df412 doc: Generate manual pages for 24.0rc2 (fanquake)
    e5aec59e0f5c4e7ae1e91e0fe619eec7d8187ea8 build: Bump version to 24.0rc2 (fanquake)
    
    Pull request description:
    
      We are due for an rc2.
      Bump version.
      Regen manpages.
      Regen exmaple bitcoin.conf.
    
    ACKs for top commit:
      LarryRuane:
        utACK d68b6abeb844daa907c7d8c103efac4092de34c0
      jarolrod:
        ACK d68b6abeb844daa907c7d8c103efac4092de34c0
      hebasto:
        ACK d68b6abeb844daa907c7d8c103efac4092de34c0, also verified the diff in `bitcoind -help` output between rc1 and rc2, and its reflection in the last commit.
    
    Tree-SHA512: 258091f68f82b449810f3220170cbb4d22424061a753a3e99edf5df15881885dc74e07c7ba1b45f9b2623cee2dcdaabb82109b0bdce7a30b6623454d5346ddef
    032ceb189a
  39. Merge bitcoin/bitcoin#26327: [24.x] Revert "build: Use Homebrew's sqlite package if it is available"
    d216d714aae36e6f1c95f82aef81a0be74dee2f3 Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)
    
    Pull request description:
    
      Identical commit, taken as-is from https://github.com/bitcoin/bitcoin/pull/25985
    
    ACKs for top commit:
      dergoegge:
        ACK d216d714aae36e6f1c95f82aef81a0be74dee2f3
      hebasto:
        ACK d216d714aae36e6f1c95f82aef81a0be74dee2f3
    
    Tree-SHA512: 8fe4cd20602e506f9cf4caa4d7b6c59142eccdd103cd6748f6e3e23464836d620b2d6142cb247a991fa8df5aa19678635d00ece5cf24d825ae6ca184c3bf7c48
    bb5bcf32ba
  40. [net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started e23def8fcc
  41. Merge bitcoin/bitcoin#26382: [24.x] p2p: Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started
    e23def8fcc4558b1a49ee8f2dd608fe91ced1d6d [net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started (dergoegge)
    
    Pull request description:
    
      Backport of #26355.
    
    ACKs for top commit:
      dergoegge:
        ACK e23def8fcc4558b1a49ee8f2dd608fe91ced1d6d
      stickies-v:
        ACK e23def8fcc4558b1a49ee8f2dd608fe91ced1d6d
    
    Tree-SHA512: 051ecb08f1f96557b5b6d01cc9d29a5dfabbb48afffd52cba662251c23277938fcbb6f207fc7575774ef627a9484ceb056cc75476861b920723c35c2f5da36c8
    d22cc74837
  42. 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
    4b7d30d026
  43. wallet: Correctly check ismine for sendall
    sendall should be using a bitwise AND for sendall's IsMine check rather
    than an equality as IsMine will never return ISMINE_ALL.
    
    Github-Pull: #26344
    Rebased-From: 6bcd7e2a3b52f855db84cd23b5ee70d27be3434f
    bbe864a13a
  44. test: Test that sendall works with watchonly spending specific utxos
    Github-Pull: #26344
    Rebased-From: 708b72b7151c855cb5dac2fb6a81e8f35153c46f
    931db785ee
  45. wallet: Check utxo prevout index out of bounds in sendall
    Github-Pull: #26344
    Rebased-From: b132c85650afb2182f2e58e903f3d6f86fd3fb22
    dedee6af57
  46. test: Test for out of bounds vout in sendall
    Github-Pull: #26344
    Rebased-From: 315fd4dbabb6b631b755811742a3bdf93e1241bf
    b04f5f9608
  47. 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
    bf2bf73bcb
  48. 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
    e4b8c9b2bf
  49. rpc: make `address` field optional
    Github-Pull: #26349
    Rebased-From: eb679a7896ce00e322972a011b023661766923b9
    d5701900fc
  50. qt: 24.0rc3 translations update 33a61018b2
  51. Merge bitcoin/bitcoin#26379: qt: 24.0rc3 translations update
    33a61018b2e3618f5eb72b7c5aaf25f8d98762fc qt: 24.0rc3 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 (just) before `v24.0rc3` tagging.
    
      Will keep this PR updated regularly until merging.
    
    Top commit has no ACKs.
    
    Tree-SHA512: ab8c44961356333cb60e102f54852b9721fb0d4a9dbe719c049007f522218391e29898c698b7e142512f98d21ef4c6b500b00c6ce107600690421ab2ade1cc70
    a8f014b342
  52. Merge bitcoin/bitcoin#26410: [24.x] rc3 backports
    d5701900fcf70220701a1686588114db165dce1c rpc: make `address` field optional (w0xlt)
    e4b8c9b2bf2118064e68d33f6b7207e721ae03dd rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
    bf2bf73bcbc5277074f1211c20b71995a175c314 rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
    b04f5f960893983400e07b96dbe9fe68383a21d2 test: Test for out of bounds vout in sendall (Andrew Chow)
    dedee6af572471b9beeebca9543934e788484b2e wallet: Check utxo prevout index out of bounds in sendall (Andrew Chow)
    931db785ee6f5c34e0f053314bc8c70b01642b72 test: Test that sendall works with watchonly spending specific utxos (Andrew Chow)
    bbe864a13a2e5ce15674eda5c3760ee851120c63 wallet: Correctly check ismine for sendall (Andrew Chow)
    4b7d30d026815dbe2330cd3e2edc044835a3eaed Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)
    
    Pull request description:
    
      Backports:
      * https://github.com/bitcoin/bitcoin/pull/26321
      * https://github.com/bitcoin/bitcoin/pull/26344
      * https://github.com/bitcoin/bitcoin/pull/26275
      * https://github.com/bitcoin/bitcoin/pull/26349
    
    ACKs for top commit:
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26410/commits/d5701900fcf70220701a1686588114db165dce1c
      hebasto:
        ACK d5701900fcf70220701a1686588114db165dce1c, I've cherry-picked commits manually and got zero diff with this PR branch.
    
    Tree-SHA512: dad64f4074b4f06d666c0f2d804eda92df241bcce0a49c28486311a151f2e9d46b75e1bce02de570dcc85957c9ce936debb2a4faa045800c9757c6c495115d7c
    2e8880abc0
  53. build: Bump version to 24.0rc3 3905706b70
  54. doc: Generate manual pages for 24.0rc3 1727b3bc54
  55. Merge bitcoin/bitcoin#26428: [24.x] Bump version to 24.0rc3
    1727b3bc5424b2a35bed69e12b7e8cfacdb4b52e doc: Generate manual pages for 24.0rc3 (fanquake)
    3905706b706825f65646e8ee3bb0e90d91254819 build: Bump version to 24.0rc3 (fanquake)
    
    Pull request description:
    
      It's been a number of weeks since rc2.
      Bump version.
      Regen manpages.
    
    ACKs for top commit:
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26428/commits/1727b3bc5424b2a35bed69e12b7e8cfacdb4b52e
    
    Tree-SHA512: 52ee45cfa4e2fc193e2747472d267a8c473ad8ed33abc6fbb0e2834bcf84adde050d51789f8bb150d62dfef70a59d52fe3b93e02d31675c054f6435323036df4
    c540f07ec3
  56. ci: Use remote pull/merge ref instead of local git merge
    The merge strategy on the remote may be different than the local one.
    This may cause local merges to be different or fail completely. Fix this
    by using the result of the remote merge.
    
    Github-Pull: bitcoin/bitcoin#26202
    Rebased-From: fad7281d7842f337932cf44e703fdd631230ddd6
    b1268254ba
  57. ci: Move `git config` commands into script where they are used
    Github-Pull: bitcoin/bitcoin#26236
    Rebased-From: ac1d99240af6c5d3ed5db2beea1479903d949a37
    14784aa02c
  58. ci: Use same `merge_script` implementation for Windows as for all
    Github-Pull: bitcoin/bitcoin#26236
    Rebased-From: 37cf4720635b63cbe36a900a2411718704b63899
    7f2dc610a5
  59. Merge bitcoin/bitcoin#26434: [24.x] [gui] Bugfix: Check for readlink buffer overflow and handle gracefully
    e049fd76f0d57c1e6400fbfbaf4cc6ebe540f16f Bugfix: Check for readlink buffer overflow and handle gracefully (Luke Dashjr)
    
    Pull request description:
    
      Identical commit taken as-is from https://github.com/bitcoin/bitcoin/pull/25548 for backport
    
    ACKs for top commit:
      hebasto:
        ACK e049fd76f0d57c1e6400fbfbaf4cc6ebe540f16f
    
    Tree-SHA512: 37e63d570de898187c1bc8dd311c299c527adea51faa08aa6a3923bdb9390e3263902ace3d52a1cfc34ac2ba84e9358961574f886be1f64b5749a62e3c50ad57
    067dc42b79
  60. Merge bitcoin/bitcoin#26436: [24.x] CI backports
    7f2dc610a5ac68c915192bf5df5ad9e7177bf18e ci: Use same `merge_script` implementation for Windows as for all (Hennadii Stepanov)
    14784aa02c61ef71f028ef1e61e567d7131f79b9 ci: Move `git config` commands into script where they are used (Hennadii Stepanov)
    b1268254bacabbd5e5c783dd06879ea96c327ad8 ci: Use remote pull/merge ref instead of local git merge (MacroFake)
    
    Pull request description:
    
      This PR backports:
      - https://github.com/bitcoin/bitcoin/pull/26202
      - https://github.com/bitcoin/bitcoin/pull/26236
    
      to avoid CI failures like that:
      - https://cirrus-ci.com/task/5653459278495744
      - https://cirrus-ci.com/task/6075671743561728
    
    ACKs for top commit:
      fanquake:
        ACK 7f2dc610a5ac68c915192bf5df5ad9e7177bf18e - backports look correct.
    
    Tree-SHA512: 46b45df8137efd42491dd3ac110c00e6e1bf4ab18a6bbbf68307fe976f391055b1987a22c101060ef5ae8ff1a2b738e197ad579754d1068d78f5eddcd45c7f69
    ca5f8f0de2
  61. doc: mention BIP86 in doc/bips.md
    Github-Pull: #26443
    Rebased-From: 303fb8ff459e67baf97c2ab0b6dd6fa25aff76e3
    bb1fabda30
  62. sign: Fill in taproot pubkey info for all script path sigs
    Taproot pubkey info was not being added for multi_a signing. The filling
    of this info is moved into the common function CreateTaprootScriptSig so
    that any signing of taproot scripts will include the pubkey info.
    
    Github-Pull: #26418
    Rebased-From: 323890d0d7db2628f9dc6eaeba6e99ce0a12e1f5
    754eefd21c
  63. psbt: Include output pubkey in additional pubkeys to sign
    In addition to the pubkeys in hd_keypaths and tap_bip32_keypaths, also
    see if the descriptor can produce a SigningProvider for the output
    pubkey.
    
    Also slightly refactors this area to reduce code duplication.
    
    Github-Pull: #26418
    Rebased-From: 8781a1b6bbd0af3cfdf1421fd18de5432494619a
    2159676b6e
  64. tests: Use new wallets for each test in wallet_taproot.py
    To avoid a wallet potentially being able to sign a transaction using
    keys from descriptors imported in previous tests, make new wallets for
    each test case rather than sharing them.
    
    Github-Pull: #26418
    Rebased-From: 6efcdf6b7f6daa83b5937aa630fce358fdaed333
    0a5ea2aa84
  65. tests: Test Taproot PSBT signing with keys in other descriptor
    Test that the same keys included in other descriptors will still be able
    to sign a PSBT that requires those keys.
    
    Github-Pull: #26418
    Rebased-From: 0de30ed509a9969cb254e00097671625c9e107d2
    6e4d87e696
  66. rpc: doc: add missing option "bech32m" for `change_type` parameters
    Affects the help of the `fundrawtransaction`, `send` and
    `walletcratefundedpsbt` RPCs.
    
    Github-Pull: #26449
    Rebased-From: c3b1fe59dbc7abe45973e282cddf3677514e220f
    42c74a0a4c
  67. Merge bitcoin/bitcoin#26452: [24.x] rc4 backports
    42c74a0a4c05c9b44593bacfb444949a8c152236 rpc: doc: add missing option "bech32m" for `change_type` parameters (Sebastian Falbesoner)
    6e4d87e69622be8cd9ea199ac62ae36b4ab4f49f tests: Test Taproot PSBT signing with keys in other descriptor (Andrew Chow)
    0a5ea2aa84cb8ad8387482c6b1b09322830171bd tests: Use new wallets for each test in wallet_taproot.py (Andrew Chow)
    2159676b6e5ce2753db294068a699c0bfc0809fa psbt: Include output pubkey in additional pubkeys to sign (Andrew Chow)
    754eefd21cf7bd253d0000e998115406ed7433c6 sign: Fill in taproot pubkey info for all script path sigs (Andrew Chow)
    bb1fabda307b58a5a48d063e1b72491c17666f97 doc: mention BIP86 in doc/bips.md (Sebastian Falbesoner)
    
    Pull request description:
    
      Currently backports:
      * https://github.com/bitcoin/bitcoin/pull/26418
      * https://github.com/bitcoin/bitcoin/pull/26443
      * https://github.com/bitcoin/bitcoin/pull/26449
    
    ACKs for top commit:
      dergoegge:
        ACK 42c74a0a4c05c9b44593bacfb444949a8c152236
    
    Tree-SHA512: e40f57b28cc4c06fc9dedebad6c9ab647fa0b98af1aef2d36874c6a05d39164c99fd763a2eb9ca162b7e276aa2e7d0f5934465ab4d7c1f5ba4a3162087e7089f
    2a5d9818ed
  68. build: Bump version to 24.0rc4 1e4db14df9
  69. doc: Generate manual pages for 24.0rc4 da1e753eeb
  70. qt: 24.0rc4 translations update 7948fdd060
  71. Merge bitcoin/bitcoin#26476: qt: 24.0rc4 translations update
    7948fdd06059f28a829a38818be641c8bd1992a0 qt: 24.0rc4 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 (just) before `v24.0rc4` tagging.
    
      Will keep this PR updated regularly until merging.
    
    Top commit has no ACKs.
    
    Tree-SHA512: 600e07bbd48116726899b60086acf1e507722bf7458c78f812e13110e58f67cefc6dd8833fcfeb649b40285b706ab89c2ee88a7ac9f6aeb4fc935e47c33f6bdc
    4cc994e9d6
  72. Merge bitcoin/bitcoin#26475: [24.x] Bump version to 24.0rc4
    da1e753eeb078c98abce3d726c7bd7391faea839 doc: Generate manual pages for 24.0rc4 (fanquake)
    1e4db14df9c3026ae1deb45e3f2112ed1f24eeaa build: Bump version to 24.0rc4 (fanquake)
    
    Pull request description:
    
      Bump version.
      Regen manpages.
      Hopefully the final rc given no further bugs / major issues.
    
    ACKs for top commit:
      dergoegge:
        ACK da1e753eeb078c98abce3d726c7bd7391faea839
      hebasto:
        ACK da1e753eeb078c98abce3d726c7bd7391faea839
    
    Tree-SHA512: aa1e6c44f0d0acdc7348587fc085540e6ea87e09fe9ec5f5856a572f9bbb9ec89c1e16a8c767e26168b32802735108021dd08da3a21d7238296fd7e9c3377d30
    dce93b2dd7
  73. build: Bump version to 24.0 final 7c8e5e69d9
  74. doc: Generate manual pages for 24.0 final 7b9d904c68
  75. doc: add 24.0 release notes 0ee1cfe94a
  76. Merge bitcoin/bitcoin#26503: [24.x] bump version to v24.0
    0ee1cfe94a1b735edc2581a05c4b12f8340ff609 doc: add 24.0 release notes (fanquake)
    7b9d904c685bb6796dec522344b1de8b7df79683 doc: Generate manual pages for 24.0 final (fanquake)
    7c8e5e69d95477fa4277105a4cedc41fafa698b1 build: Bump version to 24.0 final (fanquake)
    
    Pull request description:
    
      Bump version to v24.0.
      Regenerate manpages.
      Pull in the release notes from [the devwiki](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/24.0-Release-Notes-draft):
      - I've added the credits section; please comment if a name is missing / needs amending.
      - I've dropped any content-less sections.
      - If there are items that should be in the release notes, and are still missing, please comment.
    
    ACKs for top commit:
      0xB10C:
        ACK 0ee1cfe94a1b735edc2581a05c4b12f8340ff609
    
    Tree-SHA512: b2e9477f515709faf3991a5b4aa4b300cb24178e282bf544e0b86a2cb18e8d79f5f42e65addbf90d74862b816d333735c2793f1bcb50e1b0ed0974ea5821f909
    dd314fe0c2
  77. 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
    39af5f2164
  78. Merge bitcoin/bitcoin#26523: [24.x] GUI backports
    39af5f216461b614c78060ff89ea1ab03b936dd0 Fixes bitcoin#26490 by preventing notifications (John Moffett)
    
    Pull request description:
    
      Backports:
      - bitcoin-core/gui#680
    
    ACKs for top commit:
      jarolrod:
        ACK 39af5f216461b614c78060ff89ea1ab03b936dd0
    
    Tree-SHA512: 1c84703395cc750611922aa2c59dc2e2f2e98c92845859f9f57e30ee5371c9a31690318230ab514f2d9b71e75a716a30280aa1e585b6da31e45fd970017bc74e
    c1061be14a
  79. Merge bitcoin/bitcoin#26591: [24.x] ci: Skip COMMIT_RANGE if no CIRRUS_PR
    fad1c55301b9f2d091d3b0d8a75ff522ce8dae5a lint: Skip COMMIT_RANGE if no CIRRUS_PR (MarcoFalke)
    
    Pull request description:
    
      Identical commit from https://github.com/bitcoin/bitcoin/pull/26588
    
      Untested, but this may fix the red-ness in https://cirrus-ci.com/github/bitcoin/bitcoin/24.x, e.g. https://cirrus-ci.com/task/4697153604419584:
    
      Backport requested in https://github.com/bitcoin/bitcoin/pull/26588#issuecomment-1328916876
    
    ACKs for top commit:
      hebasto:
        ACK fad1c55301b9f2d091d3b0d8a75ff522ce8dae5a, the same commit as in #26588.
    
    Tree-SHA512: 8d8a735e25bc1f774f8cbf058b95b7019941138ab78fb7819852755c7a416a783ee116457b97031d447639002353d7bf12ee8445275b7b5eec4abc7421cc171d
    f668a3a859
  80. wallet: Avoid null pointer deref when cleaning up migratewallet
    If migratewallet fails, we do a cleanup which removes the watchonly and
    solvables wallets if they were created. However, if they were not, their
    pointers are nullptr and we don't check for that, which causes a
    segfault during the cleanup. So check that they aren't nullptr before
    cleaning them up.
    
    Github-Pull: #26594
    Rebased-From: 86ef7b3c7be84e4183098f448c77ecc9ea7367ab
    7a97a56ffb
  81. tests: Test for migrating encrypted wallets
    Due to an oversight, we cannot currently migrate encrypted wallets,
    regardless of whether they are unlocked. Migrating such wallets will
    trigger an error, and result in the cleanup being run. This conveniently
    allows us to check some parts of the cleanup code.
    
    Github-Pull: #26594
    Rebased-From: 88afc73ae0c67a4482ecd3d77eb2a8fd2673f82d
    d464b2af30
  82. wallet: Explicitly say migratewallet on encrypted wallets is unsupported
    Github-Pull: #26594
    Rebased-From: 5e65a216d1fd00c447757736d4f2899d235e731a
    95fded1069
  83. [net processing] Ensure transaction announcements are only queued for fully connected peers
    Github-Pull: #26569
    Rebased-From: 845e3a34c49abcc634b5a10ccdd6b10fb4fcf449
    e15b306017
  84. [net processing] Assume that TxRelay::m_tx_inventory_to_send is empty pre-verack
    This commit documents our assumption about
    TxRelay::m_tx_inventory_to_send being empty prior to version handshake
    completion.
    
    The added Assume acts as testing oracle for our fuzzing tests to
    potentially detect if the assumption is violated.
    
    Github-Pull: #26569
    Rebased-From: ce63fca13e9b500e9f687d80a457175ac967a371
    c8426706de
  85. [test] Add p2p_tx_privacy.py
    Github-Pull: #26569
    Rebased-From: 8f2dac54096c20afd8fd12c21a2ee5465fea085e
    e5d097b639
  86. wallet: bugfix, 'CoinsResult::Erase' is erasing only one output of the set
    The loop break shouldn't have being there.
    
    Github-Pull: #26560
    Rebased-From: f930aefff9690a1e830d897d0a8c53f4219ae4a8
    195f0dfd0e
  87. test: wallet, coverage for CoinsResult::Erase function
    Github-Pull: #26560
    Rebased-From: 341ba7ffd8cdb56b4cde1f251768c3d2c2a9b4e9
    9d73176d00
  88. test: Coin Selection, duplicated preset inputs selection
    This exercises the bug inside CoinsResult::Erase that
    ends up on (1) a wallet crash or (2) a created and
    broadcasted tx that contains a reduced recipient's amount.
    
    This is covered by making the wallet selects the preset
    inputs twice during the coin selection process.
    
    Making the wallet think that the selection process result covers
    the entire tx target when it does not. It's actually creating
    a tx that sends more coins than what inputs are covering for.
    
    Which, combined with the SFFO option, makes the wallet
    incorrectly reduce the recipient's amount by the difference
    between the original target and the wrongly counted inputs.
    Which means, a created and relayed tx sending less coins to
    the destination than what the user inputted.
    
    Github-Pull: #26560
    Rebased-From: cf793846978a8783c23b66ba6b4f3f30e83ff3eb
    8b726bf556
  89. Merge bitcoin/bitcoin#26616: [24.x] Backports for 24.0.1
    8b726bf556e05edf02946d4b1c3356df17fd0d57 test: Coin Selection, duplicated preset inputs selection (furszy)
    9d73176d00a013e1383ae18cb5c0f8cbdd186cba test: wallet, coverage for CoinsResult::Erase function (furszy)
    195f0dfd0ec7fadfbbb3d86decb3f6d96beae159 wallet: bugfix, 'CoinsResult::Erase' is erasing only one output of the set (furszy)
    e5d097b639c7f75b530349b524836804cb753597 [test] Add p2p_tx_privacy.py (dergoegge)
    c8426706deda827231715a1e9afd2078026a5e49 [net processing] Assume that TxRelay::m_tx_inventory_to_send is empty pre-verack (dergoegge)
    e15b3060179f94962eff82f3ed87a1d26ef65c88 [net processing] Ensure transaction announcements are only queued for fully connected peers (dergoegge)
    95fded106979a523431863679107810db81ca4b3 wallet: Explicitly say migratewallet on encrypted wallets is unsupported (Andrew Chow)
    d464b2af30f2b02be2ce0b5e45dc6c141529dba5 tests: Test for migrating encrypted wallets (Andrew Chow)
    7a97a56ffb22fbf8ccb143a8a7da77e8c7e77069 wallet: Avoid null pointer deref when cleaning up migratewallet (Andrew Chow)
    
    Pull request description:
    
      Backports remaining changes on the 24.0.1 milestone.
    
      Currently backports:
      * https://github.com/bitcoin/bitcoin/pull/26594
      * https://github.com/bitcoin/bitcoin/pull/26569
      * https://github.com/bitcoin/bitcoin/pull/26560
    
    ACKs for top commit:
      josibake:
        ACK https://github.com/bitcoin/bitcoin/pull/26616/commits/8b726bf556e05edf02946d4b1c3356df17fd0d57
    
    Tree-SHA512: db77ec1a63a7b6a4412750a0f4c0645681fc346a5df0a7cd38d5d27384e1d0fa95f3953af90042afe131ddbd4b6a6e009527095f13e9f58c0190cd378738a9e5
    3afbc7d67d
  90. build: bump version to 24.0.1 final 1b19c894a2
  91. doc: generate manual pages for 24.0.1 final c119b0a176
  92. doc: adjust release notes for 24.0.1
    This will be accompianied by a change to release-notes-24.0.md on
    master.
    a9ea715835
  93. Merge bitcoin/bitcoin#26647: 24.0.1 final changes
    a9ea7158351ad89f62a13335368df8cc54114f7f doc: adjust release notes for 24.0.1 (fanquake)
    c119b0a1766d2b3daa07c09da7947afe862f4bd1 doc: generate manual pages for 24.0.1 final (fanquake)
    1b19c894a2c282177335fd61f633d4d6fd38d425 build: bump version to 24.0.1 final (fanquake)
    
    Pull request description:
    
      Changes for 24.0.1.
    
      At this stage, I don't think an rc is necessary here, and would just add another 5-x days delay to fixing these issues.
    
      This will be accompanied by a pull request to master to add a note in the 24.0.md that already exists there. Similar to what was done with 0.19.0.1.
    
    ACKs for top commit:
      gruve-p:
        ACK https://github.com/bitcoin/bitcoin/pull/26647/commits/a9ea7158351ad89f62a13335368df8cc54114f7f
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26647/commits/a9ea7158351ad89f62a13335368df8cc54114f7f
      hebasto:
        ACK a9ea7158351ad89f62a13335368df8cc54114f7f, I have reviewed the changes and they look OK.
      josibake:
        ACK https://github.com/bitcoin/bitcoin/pull/26647/commits/a9ea7158351ad89f62a13335368df8cc54114f7f
      w0xlt:
        ACK https://github.com/bitcoin/bitcoin/pull/26647/commits/a9ea7158351ad89f62a13335368df8cc54114f7f
    
    Tree-SHA512: 2e0d81ef91d947c9d55dcadcb6168fbb5251a5e613642c6250075add6a4f14f54cbb452934fa46aec035decb339e611fe721f5e9d9156e47a0341c3be26f5aa9
    b3f866a8df
  94. qt: Load PSBTs using istreambuf_iterator rather than istream_iterator
    istream_iterator eats whitespace charactesr which causes parsing
    failures for PSBTs that contain the bytes corresponding to those
    characters.
    
    Github-Pull: bitcoin-core/gui#687
    Rebased-From: bb5ea1d9a954b7b9f443ee8fbbb04549cd0b08a7
    0662105e88
  95. Merge bitcoin/bitcoin#26735: [24.x] qt: Load PSBTs using istreambuf_iterator rather than istream_iterator
    0662105e884dce3eae9d3eb0b0d49600c1260b90 qt: Load PSBTs using istreambuf_iterator rather than istream_iterator (Andrew Chow)
    
    Pull request description:
    
    ACKs for top commit:
      fanquake:
        ACK 0662105e884dce3eae9d3eb0b0d49600c1260b90
    
    Tree-SHA512: 6a2ee4d2150bf3d90e95325966d4f73b05f8cb1a5af1db6a64c891880b9f3a0846d59eb6896fee80a63b05f2084bfadc64cf9a9029598c3b31ce104715a0ca81
    0da38b6b0e
  96. rpc: Require NodeStateStats object in getpeerinfo
    There is no situation in which CNodeStateStats could be
    missing for a legitimate reason - this can only happen if
    there is a race condition between peer disconnection and
    the getpeerinfo call, in which case the disconnected peer
    doesn't need to be included in the response.
    
    Github-Pull: bitcoin#26515
    Rebased-From: 6fefd49
    e72313e6b3
  97. ci: Remove unused package
    Address feedback from https://github.com/bitcoin/bitcoin/pull/24561/files#r985719812
    
    Github-Pull: #26234
    Rebased-From: fac085a05cc518b14271353128bb1fa830b3c612
    644c0304f5
  98. ci: Allow PIP_PACKAGES on centos
    This was added in 7fc5e865b93af59364e9c8bf75ec68b4decc7e5d but I can't
    see a reason why this should be forbidden.
    
    Github-Pull: #26234
    Rebased-From: fa6054e952f4522b98dc89609033950a3cbfd06c
    ce2a072ba8
  99. ci: Make `getopt` path architecture agnostic
    Github-Pull: #26388
    Rebased-From: 702836530ffa351e863b1b1300fd2e559a14ef23
    50ad39d9d0
  100. ci: Use `macos-ventura-xcode:14.1` image for "macOS native" task
    Github-Pull: #26388
    Rebased-From: da168934741b776bce07d5503ca2344d300723b3
    95ec9604a4
  101. Merge bitcoin/bitcoin#26880: [24.x] ci: replace Intel macOS CI job
    95ec9604a443e2182d9c0eeba36293d57b37e1f9 ci: Use `macos-ventura-xcode:14.1` image for "macOS native" task (Hennadii Stepanov)
    50ad39d9d049d99ecce8a41553e0578950617265 ci: Make `getopt` path architecture agnostic (Hennadii Stepanov)
    ce2a072ba846cc497b9823c6359e7230a268e137 ci: Allow PIP_PACKAGES on centos (MacroFake)
    644c0304f56171ef2bac595ab67344f45733e169 ci: Remove unused package (MacroFake)
    
    Pull request description:
    
    ACKs for top commit:
      fanquake:
        ACK 95ec9604a443e2182d9c0eeba36293d57b37e1f9 did the same for 23.x & in #26878.
    
    Tree-SHA512: 086fbe2f2a39e210cc41076d42fb911abdd720a2824fcaaacfaf50345c90d23b9f9f8b0a06e4f85cced0a8fdf0e5f5a7a3a00a05edbc267574893975dfc7c061
    5148145b35
  102. Merge bitcoin/bitcoin#26457: [24.x] backport rpc: skip getpeerinfo for a peer without CNodeStateStats
    e72313e6b3fbf865e0eaa9aee0a555b7a7fe6850 rpc: Require NodeStateStats object in getpeerinfo (Martin Zumsande)
    
    Pull request description:
    
      Backports #26515.
    
    ACKs for top commit:
      fanquake:
        ACK e72313e6b3fbf865e0eaa9aee0a555b7a7fe6850
    
    Tree-SHA512: 28e885ea299fe8a3a7538628d413c434bc42c251a2c1ae238bca0652709f5bd781eb157675171ab538f6e2f6f720f1c184200ac3857f6c78f48858949eed49da
    2b87e90585
  103. wallet: fully migrate address book entries for watchonly/solvable wallets
    Currently `migratewallet` migrates the address book (i.e. labels and
    purposes) for watchonly and solvable wallets only in RAM, but doesn't
    persist them on disk. Fix this by adding another loop for both of the
    special wallet types after which writes the corresponding NAME and
    PURPOSE entries to the database in a single batch.
    
    Github-Pull: #26761
    Rebased-From: d5f4ae7fac0bceb0c9ad939b9a4fbdb85da0bf95
    342abfb3f4
  104. test: wallet: check that labels are migrated to watchonly wallet
    Github-Pull: #26761
    Rebased-From: 730e14a317ae45fe871c8d6f44a51936756bbbea
    cbcdafa471
  105. wallet: Skip rescanning if wallet is more recent than tip
    If a wallet has key birthdates that are more recent than the currrent
    chain tip, or a bestblock height higher than the current tip, we should
    not attempt to rescan as there is nothing to scan for.
    
    Github-Pull: #26679
    Rebased-From: 378400953424598fd78ccec5ba8cc38bc253c550
    428dcd51e6
  106. For feebump, ignore abandoned descendant spends
    To be eligible for fee-bumping, a transaction must not have any
    of its outputs (eg - change) spent in other unconfirmed transactions
    in the wallet. However, this check should not apply to abandoned
    transactions.
    
    A new test case is added to cover this case.
    
    Github-Pull: #26675
    Rebased-From: f9ce0eadf4eb58d1e2207c27fabe69a5642482e7
    5c824ac5e1
  107. hash: add HashedSourceWriter
    This class is the counterpart to CHashVerifier, in that it
    writes data to an underlying source stream,
    while keeping a hash of the written data.
    
    Github-Pull: #26909
    Rebased-From: da6c7aeca38e1d0ab5839a374c26af0504d603fc
    91f83dbeb1
  108. addrdb: Only call Serialize() once
    The previous logic would call it once for serializing into the filestream,
    and then again for serializing into the hasher. If AddrMan was changed
    in between these calls by another thread, the resulting peers.dat would
    be corrupt with non-matching checksum and data.
    Fix this by using HashedSourceWriter, which writes the data
    to the underlying stream and keeps track of the hash in one go.
    
    Github-Pull: #26909
    Rebased-From: 5eabb61b2386d00e93e6bbb2f493a56d1b326ad9
    07397cdede
  109. Add missing includes to fix gcc-13 compile error
    Github-Pull: #26924
    Rebased-From: fadeb6b103cb441e0e91ef506ef29febabb10715
    7cf73dfed5
  110. depends: fix systemtap download URL
    Github-Pull: #26944
    Rebased-From: d81ca6619a5d05472af7f59e36cd100dd04a3a01
    cff67180b3
  111. Correctly limit overview transaction list
    The way that the main overview page limits the number
    of transactions displayed (currently 5) is not
    an appropriate use of Qt. If it's run with a DEBUG
    build of Qt, it'll result in a segfault in certain
    relatively common situations. Instead of artificially
    limiting the rowCount() in the subclassed proxy
    filter, we hide/unhide the rows in the displaying
    QListView upon any changes in the sorted proxy filter.
    
    Github-Pull: bitcoin-core/gui/pull/704
    Rebased-From: 08209c039ff4ca5be4982da7a2ab7a624117ce1a
    b7e242ecb3
  112. Zero out wallet master key upon lock
    When an encrypted wallet is locked (for instance via the
    RPC `walletlock`), the docs indicate that the key is
    removed from memory. However, the vector (with a secure
    allocator) is merely cleared. This allows the key to persist
    indefinitely in memory. Instead, manually fill the bytes with
    zeroes before clearing.
    
    Github-Pull: #27080
    Rebased-From: 3a11adc7004d21b3dfe028b190d83add31691c55
    64e7db6f4f
  113. wallet: reuse change dest when recreating TX with avoidpartialspends
    Github-Pull: #27053
    Rebased-From: 14b4921a91920df25b19ff420bfe2bff8c56f71e
    a62c541ae8
  114. i2p: reuse created I2P sessions if not used
    In the case of `i2pacceptincoming=0` we use transient addresses
    (destinations) for ourselves for each outbound connection. It may
    happen that we
    * create the session (and thus our address/destination too)
    * fail to connect to the particular peer (e.g. if they are offline)
    * dispose the unused session.
    
    This puts unnecessary load on the I2P network because session creation
    is not cheap. Is exaggerated if `onlynet=i2p` is used in which case we
    will be trying to connect to I2P peers more often.
    
    To help with this, save the created but unused sessions and pick them
    later instead of creating new ones.
    
    Alleviates: https://github.com/bitcoin/bitcoin/issues/26754
    
    Github-Pull: #26837
    Rebased-From: b906b64eb76643feaede1da5987a0c4d466c581b
    5027e93b6a
  115. i2p: lower the number of tunnels for transient sessions
    This will lower the load on the I2P network. Since we use one transient
    session for connecting to just one peer, a higher number of tunnels is
    unnecessary.
    
    This was suggested in:
    https://github.com/bitcoin/bitcoin/issues/26754#issuecomment-1365449401
    https://github.com/bitcoin/bitcoin/issues/26754#issuecomment-1367356129
    
    The options are documented in:
    https://geti2p.net/en/docs/protocol/i2cp#options
    
    A tunnel is unidirectional, so even if we make a single outbound
    connection we still need an inbound tunnel to receive the messages sent
    to us over that connection.
    
    Alleviates: https://github.com/bitcoin/bitcoin/issues/26754
    
    Github-Pull: #26837
    Rebased-From: 801b405f85b413631427c2d8cc1f8447309ea5d8
    29cdf42226
  116. i2p: use consistent number of tunnels with i2pd and Java I2P
    The default number of tunnels in the Java implementation is 2 and in the
    C++ i2pd it is 5. Pick a mid-number (3) and explicitly set it in order
    to get a consistent behavior with both routers. Do this for persistent
    sessions which are created once at startup and can be used to open up
    to ~10 outbound connections and can accept up to ~125 incoming
    connections. Transient sessions already set number of tunnels to 1.
    
    Suggested in:
    https://github.com/bitcoin/bitcoin/issues/26754#issuecomment-1367356129
    https://geti2p.net/en/docs/api/samv3
    
    Alleviates: https://github.com/bitcoin/bitcoin/issues/26754
    
    Github-Pull: #26837
    Rebased-From: 3c1de032de01e551992975eb374465300a655f44
    ab3bd457cd
  117. wallet: Allow MigrateLegacyToDescriptor to take a wallet name
    An overload of MigrateLegacyToDescriptor is added which takes the wallet
    name. The original that took a wallet pointer is still available, it
    just gets the name, closes the wallet, and calls the new overload.
    
    Github-Pull: #26595
    Reabsed-From: dbfa34540372033d95036a02b7025ddd33f540aa
    648b06256d
  118. rpc: Allow users to specify wallet name for migratewallet
    Github-Pull: #26595
    Rebased-From: 6bdbc5ff590de18dfb47c31190baad879f68fef7
    50dd8b13df
  119. wallet: Be able to unlock the wallet for migration
    Since migration reloads the wallet, the wallet will always be locked
    unless the passphrase is given. migratewallet can now take the
    passphrase in order to unlock the wallet for migration.
    
    Github-Pull: #26595
    Rebased-From: 7fd125b27d48e410509f3009e2eb9fa5cd6729dd
    ccc72fecd7
  120. tests: Tests for migrating wallets by name, and providing passphrase
    Github-Pull: #26595
    Rebased-From: aaf02b5721a8b5d3d9280dc3146fa5e44ea671b6
    debcfe313a
  121. wallet, rpc: Update migratewallet help text for encrypted wallets
    Github-Pull: #26595
    Rebased-From: 9486509be65f09174a0cb50a337cac58a0c09de4
    784a754aa4
  122. Merge bitcoin/bitcoin#26878: [24.x] Backports
    784a754aa47ce10c6fd99c09cdfc76ee9bc91652 wallet, rpc: Update migratewallet help text for encrypted wallets (Andrew Chow)
    debcfe313a22fddc2a6247c55f3c7893f6134c05 tests: Tests for migrating wallets by name, and providing passphrase (Andrew Chow)
    ccc72fecd7287471bf8c3858a4e6c2ddadb64863 wallet: Be able to unlock the wallet for migration (Andrew Chow)
    50dd8b13dfc070b550680617e76eff1c09af3a58 rpc: Allow users to specify wallet name for migratewallet (Andrew Chow)
    648b06256da65b4513977e351aabf3e5c06ce060 wallet: Allow MigrateLegacyToDescriptor to take a wallet name (Andrew Chow)
    ab3bd457cdb5c5ee2626081d703d675c2573f28a i2p: use consistent number of tunnels with i2pd and Java I2P (Vasil Dimov)
    29cdf42226c0983076701552b351f08351dd54a5 i2p: lower the number of tunnels for transient sessions (Vasil Dimov)
    5027e93b6a1e5a5c87b9450c60e2a4572eb32653 i2p: reuse created I2P sessions if not used (Vasil Dimov)
    a62c541ae8a579d19b8fc55bbb922f0939ab6110 wallet: reuse change dest when recreating TX with avoidpartialspends (Matthew Zipkin)
    64e7db6f4f256656f4d78a96b07e51f7d5c6d526 Zero out wallet master key upon lock (John Moffett)
    b7e242ecb3aa0074aea753e5bc9f8d22674e8294 Correctly limit overview transaction list (John Moffett)
    cff67180b3ba9ab53e01d44769059aa5559c01f7 depends: fix systemtap download URL (fanquake)
    7cf73dfed5757819c0a5485ae05e8e1a57528a0e Add missing includes to fix gcc-13 compile error (MarcoFalke)
    07397cdedeffb4da0aedd454d4539d65a0204291 addrdb: Only call Serialize() once (Martin Zumsande)
    91f83dbeb197fc0fff574d9e29b4560b1d236bec hash: add HashedSourceWriter (Martin Zumsande)
    5c824ac5e1e35f77e323319849b03ac9d8cf45d3 For feebump, ignore abandoned descendant spends (John Moffett)
    428dcd51e6adab564ffb87ed678317924868572f wallet: Skip rescanning if wallet is more recent than tip (Andrew Chow)
    cbcdafa471da3d1edd183143ae9d433627ef16dd test: wallet: check that labels are migrated to watchonly wallet (Sebastian Falbesoner)
    342abfb3f4368fcdb67f3002c5558d4106d9bf83 wallet: fully migrate address book entries for watchonly/solvable wallets (Sebastian Falbesoner)
    
    Pull request description:
    
      Backports:
      * https://github.com/bitcoin/bitcoin/pull/26595
      * https://github.com/bitcoin/bitcoin/pull/26675
      * https://github.com/bitcoin/bitcoin/pull/26679
      * https://github.com/bitcoin/bitcoin/pull/26761
      * https://github.com/bitcoin/bitcoin/pull/26837
      * https://github.com/bitcoin/bitcoin/pull/26909
      * https://github.com/bitcoin/bitcoin/pull/26924
      * https://github.com/bitcoin/bitcoin/pull/26944
      * https://github.com/bitcoin-core/gui/pull/704
      * https://github.com/bitcoin/bitcoin/pull/27053
      * https://github.com/bitcoin/bitcoin/pull/27080
    
    ACKs for top commit:
      instagibbs:
        ACK https://github.com/bitcoin/bitcoin/pull/26878/commits/784a754aa47ce10c6fd99c09cdfc76ee9bc91652
      achow101:
        ACK 784a754aa47ce10c6fd99c09cdfc76ee9bc91652
      hebasto:
        ACK 784a754aa47ce10c6fd99c09cdfc76ee9bc91652, I've made backporting locally and got a diff between my branch and this PR as follows:
    
    Tree-SHA512: 8ea84aa02d7907ff1e202e1302b441ce9ed2198bf383620ad40056a5d7e8ea88e1047abef0b92d85648016bf9b3195c974be3806ccebd85bef4f85c326869e43
    c8c85ca16e
  123. build: bump version to v24.1rc1 5077e02263
  124. doc: update version in bips.md to v24.1 787affb9ea
  125. doc: update manual pages for v24.1rc1 cc4e3158c9
  126. doc: add initial release notes for v24.1
    Move historical 24.0.1 to doc/release-notes.
    932a609312
  127. qt: 24.1rc1 translations update a2f8a839d9
  128. Merge bitcoin/bitcoin#27251: [24.x] qt: 24.1rc1 translations update
    a2f8a839d9b071f9c90ed5e3db2d30f90993992d qt: 24.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 `v24.1rc1` tagging (#27247).
    
      Will keep this PR updated regularly until merging.
    
      The Dutch translation `bitcoin_nl.ts` has been damaged, therefore its changes were rejected manually.
    
    ACKs for top commit:
      stickies-v:
        I'm not familiar with the translations process and I couldn't verify that `bitcoin_nl.ts` is damaged, but if this constitutes sufficient review then ACK a2f8a839d9b071f9c90ed5e3db2d30f90993992d
    
    Tree-SHA512: d914d158c4a4b62a2c37040f5cc0602ef749a7bf658af0e364a0d2cb52b802a00863496751cf3db42d74e8950c49969ee9dd03c5c3fee79860113389f36ee483
    47c4903923
  129. Merge bitcoin/bitcoin#27247: [24.x] Bump version to v24.1rc1
    932a609312cb7b72bf5f23112763ab933a54389c doc: add initial release notes for v24.1 (fanquake)
    cc4e3158c9e7840151fe7b6209ba5f7ea5f103c3 doc: update manual pages for v24.1rc1 (fanquake)
    787affb9ea04651a682acf8d09342d6e843fdd0f doc: update version in bips.md to v24.1 (fanquake)
    5077e02263cf47749583f22dc2bc609878d8290a build: bump version to v24.1rc1 (fanquake)
    
    Pull request description:
    
      Bump the version number to v24.1rc1.
      Regenerate the man pages.
      Update the version number in bips.md.
      Move the v24.0.1 release notes to doc/release-notes.
      Add initial release notes for v24.1.
    
      Merged changes to the 24.x branch since v24.0.1:
      - https://github.com/bitcoin/bitcoin/pull/26457
      - https://github.com/bitcoin/bitcoin/pull/26735
      - https://github.com/bitcoin/bitcoin/pull/26878
      - https://github.com/bitcoin/bitcoin/pull/26880
    
    ACKs for top commit:
      achow101:
        ACK 932a609312cb7b72bf5f23112763ab933a54389c
    
    Tree-SHA512: b90fd7c8f22c8fb096864e47cb79eaf5878524739a3b5c1d495c8c196b70d08c7b95fbfb1dfcdddf507bd8a72a5d133ecbe6ae898bbe70931f404afd0807b707
    9e05de1d70
  130. DrahtBot commented at 6:29 AM on March 30, 2023: member

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  131. fanquake closed this on Mar 30, 2023

  132. fanquake locked this on Mar 30, 2023
  133. fanquake renamed this:
    Merge bitcoin/bitcoin#27247: [24.x] Bump version to v24.1rc1
    .
    on Mar 30, 2023

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