-
Notifications
You must be signed in to change notification settings - Fork 37.7k
[24.x] Backports #26878
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
[24.x] Backports #26878
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
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
0200864
to
91f7021
Compare
…lets 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: bitcoin#26761 Rebased-From: d5f4ae7
Github-Pull: bitcoin#26761 Rebased-From: 730e14a
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: bitcoin#26679 Rebased-From: 3784009
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: bitcoin#26675 Rebased-From: f9ce0ea
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: bitcoin#26909 Rebased-From: da6c7ae
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: bitcoin#26909 Rebased-From: 5eabb61
Github-Pull: bitcoin#26924 Rebased-From: fadeb6b
Github-Pull: bitcoin#26944 Rebased-From: d81ca66
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: 08209c0
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: bitcoin#27080 Rebased-From: 3a11adc
Github-Pull: bitcoin#27053 Rebased-From: 14b4921
40ca6e3
to
a62c541
Compare
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: bitcoin#26754 Github-Pull: bitcoin#26837 Rebased-From: b906b64
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: bitcoin#26754 (comment) bitcoin#26754 (comment) 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: bitcoin#26754 Github-Pull: bitcoin#26837 Rebased-From: 801b405
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: bitcoin#26754 (comment) https://geti2p.net/en/docs/api/samv3 Alleviates: bitcoin#26754 Github-Pull: bitcoin#26837 Rebased-From: 3c1de03
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: bitcoin#26595 Reabsed-From: dbfa345
Github-Pull: bitcoin#26595 Rebased-From: 6bdbc5f
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: bitcoin#26595 Rebased-From: 7fd125b
Github-Pull: bitcoin#26595 Rebased-From: aaf02b5
Github-Pull: bitcoin#26595 Rebased-From: 9486509
ACK 784a754 trivial backports as far as I can see |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 784a754, I've made backporting locally and got a diff between my branch and this PR as follows:
--- a/test/functional/wallet_importdescriptors.py
+++ b/test/functional/wallet_importdescriptors.py
@@ -484,8 +484,8 @@ class ImportDescriptorsTest(BitcoinTestFramework):
assert_equal(addr, 'bcrt1qp8s25ckjl7gr6x2q3dx3tn2pytwp05upkjztk6ey857tt50r5aeqn6mvr9') # Derived at m/84'/0'/0'/1
change_addr = wmulti_pub.getrawchangeaddress('bech32') # uses change 2
assert_equal(change_addr, 'bcrt1qp6j3jw8yetefte7kw6v5pc89rkgakzy98p6gf7ayslaveaxqyjusnw580c') # Derived at m/84'/1'/0'/2
- assert(send_txid in self.nodes[0].getrawmempool(True))
- assert(send_txid in (x['txid'] for x in wmulti_pub.listunspent(0)))
+ assert send_txid in self.nodes[0].getrawmempool(True)
+ assert send_txid in (x['txid'] for x in wmulti_pub.listunspent(0))
assert_equal(wmulti_pub.getwalletinfo()['keypoolsize'], 999)
# generate some utxos for next tests
which tracks down to 459cb63 from #26257 which, in turn, is not backported here.
trivial backports as far as I can see
bitcoin-core/gui#704 and #27053 are not trivial to backport.
ACK 784a754 |
932a609 doc: add initial release notes for v24.1 (fanquake) cc4e315 doc: update manual pages for v24.1rc1 (fanquake) 787affb doc: update version in bips.md to v24.1 (fanquake) 5077e02 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: - #26457 - #26735 - #26878 - #26880 ACKs for top commit: achow101: ACK 932a609 Tree-SHA512: b90fd7c8f22c8fb096864e47cb79eaf5878524739a3b5c1d495c8c196b70d08c7b95fbfb1dfcdddf507bd8a72a5d133ecbe6ae898bbe70931f404afd0807b707
post merge ACK 784a754 |
Backports: