Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port Qtum to core 24.1 #1008

Merged
merged 2,913 commits into from
Sep 1, 2023
Merged

Port Qtum to core 24.1 #1008

merged 2,913 commits into from
Sep 1, 2023

Conversation

timemarkovqtum
Copy link
Contributor

The code contain updates from Bitcoin 24.1 version.
The python tests for Qtum are not fixed, so they might failed.

furszy and others added 30 commits December 5, 2022 17:43
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: cf79384
8b726bf test: Coin Selection, duplicated preset inputs selection (furszy)
9d73176 test: wallet, coverage for CoinsResult::Erase function (furszy)
195f0df wallet: bugfix, 'CoinsResult::Erase' is erasing only one output of the set (furszy)
e5d097b [test] Add p2p_tx_privacy.py (dergoegge)
c842670 [net processing] Assume that TxRelay::m_tx_inventory_to_send is empty pre-verack (dergoegge)
e15b306 [net processing] Ensure transaction announcements are only queued for fully connected peers (dergoegge)
95fded1 wallet: Explicitly say migratewallet on encrypted wallets is unsupported (Andrew Chow)
d464b2a tests: Test for migrating encrypted wallets (Andrew Chow)
7a97a56 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:
  * bitcoin/bitcoin#26594
  * bitcoin/bitcoin#26569
  * bitcoin/bitcoin#26560

ACKs for top commit:
  josibake:
    ACK bitcoin/bitcoin@8b726bf

Tree-SHA512: db77ec1a63a7b6a4412750a0f4c0645681fc346a5df0a7cd38d5d27384e1d0fa95f3953af90042afe131ddbd4b6a6e009527095f13e9f58c0190cd378738a9e5
This will be accompianied by a change to release-notes-24.0.md on
master.
a9ea715 doc: adjust release notes for 24.0.1 (fanquake)
c119b0a doc: generate manual pages for 24.0.1 final (fanquake)
1b19c89 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 bitcoin/bitcoin@a9ea715
  instagibbs:
    ACK bitcoin/bitcoin@a9ea715
  hebasto:
    ACK a9ea715, I have reviewed the changes and they look OK.
  josibake:
    ACK bitcoin/bitcoin@a9ea715
  w0xlt:
    ACK bitcoin/bitcoin@a9ea715

Tree-SHA512: 2e0d81ef91d947c9d55dcadcb6168fbb5251a5e613642c6250075add6a4f14f54cbb452934fa46aec035decb339e611fe721f5e9d9156e47a0341c3be26f5aa9
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: bb5ea1d
…terator rather than istream_iterator

0662105 qt: Load PSBTs using istreambuf_iterator rather than istream_iterator (Andrew Chow)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK 0662105

Tree-SHA512: 6a2ee4d2150bf3d90e95325966d4f73b05f8cb1a5af1db6a64c891880b9f3a0846d59eb6896fee80a63b05f2084bfadc64cf9a9029598c3b31ce104715a0ca81
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
This was added in 7fc5e86 but I can't
see a reason why this should be forbidden.

Github-Pull: #26234
Rebased-From: fa6054e
Github-Pull: #26388
Rebased-From: 7028365
95ec960 ci: Use `macos-ventura-xcode:14.1` image for "macOS native" task (Hennadii Stepanov)
50ad39d ci: Make `getopt` path architecture agnostic (Hennadii Stepanov)
ce2a072 ci: Allow PIP_PACKAGES on centos (MacroFake)
644c030 ci: Remove unused package (MacroFake)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK 95ec960 did the same for 23.x & in #26878.

Tree-SHA512: 086fbe2f2a39e210cc41076d42fb911abdd720a2824fcaaacfaf50345c90d23b9f9f8b0a06e4f85cced0a8fdf0e5f5a7a3a00a05edbc267574893975dfc7c061
@qtum-neil qtum-neil merged commit 88fd52d into master Sep 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.