Age | Commit message (Collapse) | Author |
|
|
|
|
|
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
|
|
Github-Pull: #26595
Rebased-From: 9486509be65f09174a0cb50a337cac58a0c09de4
|
|
Github-Pull: #26595
Rebased-From: aaf02b5721a8b5d3d9280dc3146fa5e44ea671b6
|
|
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
|
|
Github-Pull: #26595
Rebased-From: 6bdbc5ff590de18dfb47c31190baad879f68fef7
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Github-Pull: #27053
Rebased-From: 14b4921a91920df25b19ff420bfe2bff8c56f71e
|
|
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
|
|
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
|
|
Github-Pull: #26944
Rebased-From: d81ca6619a5d05472af7f59e36cd100dd04a3a01
|
|
Github-Pull: #26924
Rebased-From: fadeb6b103cb441e0e91ef506ef29febabb10715
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Github-Pull: #26761
Rebased-From: 730e14a317ae45fe871c8d6f44a51936756bbbea
|
|
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
|
|
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
|
|
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
|
|
Github-Pull: #26388
Rebased-From: da168934741b776bce07d5503ca2344d300723b3
|
|
Github-Pull: #26388
Rebased-From: 702836530ffa351e863b1b1300fd2e559a14ef23
|
|
This was added in 7fc5e865b93af59364e9c8bf75ec68b4decc7e5d but I can't
see a reason why this should be forbidden.
Github-Pull: #26234
Rebased-From: fa6054e952f4522b98dc89609033950a3cbfd06c
|
|
Address feedback from https://github.com/bitcoin/bitcoin/pull/24561/files#r985719812
Github-Pull: #26234
Rebased-From: fac085a05cc518b14271353128bb1fa830b3c612
|
|
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
|
|
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
|
|
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
|
|
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
|
|
This will be accompianied by a change to release-notes-24.0.md on
master.
|
|
|
|
|
|
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
|
|
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
|
|
Github-Pull: #26560
Rebased-From: 341ba7ffd8cdb56b4cde1f251768c3d2c2a9b4e9
|
|
The loop break shouldn't have being there.
Github-Pull: #26560
Rebased-From: f930aefff9690a1e830d897d0a8c53f4219ae4a8
|
|
Github-Pull: #26569
Rebased-From: 8f2dac54096c20afd8fd12c21a2ee5465fea085e
|
|
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
|
|
connected peers
Github-Pull: #26569
Rebased-From: 845e3a34c49abcc634b5a10ccdd6b10fb4fcf449
|
|
Github-Pull: #26594
Rebased-From: 5e65a216d1fd00c447757736d4f2899d235e731a
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|