Bitcoin Core Github
44 subscribers
121K links
Download Telegram
📝 achow101 opened a pull request: "wallet, rpc, gui: List legacy wallets with a message about migration"
(https://github.com/bitcoin/bitcoin/pull/32619)
A new field `warnings` is added for each wallet in `listwalletdir`. If a legacy wallet is detected, the warning will contain a message that the wallet is a legacy wallet and will need to be migrated before it can be loaded.

In the GUI, the "Open Wallet" menu is changed to show legacy wallets greyed out with "(needs migration)" appended to their name to indicate to the user that the legacy wallet will need to be migrated.
💬 jonatack commented on pull request "wallet, rpc, gui: List legacy wallets with a message about migration":
(https://github.com/bitcoin/bitcoin/pull/32619#discussion_r2107860073)
I also needed to change this to make `wallet_multiwallet.py` pass:

```diff
--- a/test/functional/wallet_multiwallet.py
+++ b/test/functional/wallet_multiwallet.py
@@ -72,7 +72,7 @@ class MultiWalletTest(BitcoinTestFramework):
return wallet_dir(name, "wallet.dat")
return wallet_dir(name)

- assert_equal(self.nodes[0].listwalletdir(), {'wallets': [{'name': self.default_wallet_name}]})
+ assert_equal(self.nodes[0].listwalletdir(), {'wallets':
...
💬 l0rinc commented on pull request "blocks: avoid recomputing block header hash in `ReadBlock`":
(https://github.com/bitcoin/bitcoin/pull/32487#discussion_r2107863221)
Decided to do it here instead:

> [ReadBlock] [error] GetHash() doesn't match index at FlatFilePos(nFile=0, nPos=8) while reading block (000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f != 0000000000000000000000000000000000000000000000000000000000000001)
test/blockmanager_tests.cpp:147: info: check !m_node.chainman->m_blockman.ReadBlock(dummy, *fake_index) has passed
💬 l0rinc commented on pull request "blocks: avoid recomputing block header hash in `ReadBlock`":
(https://github.com/bitcoin/bitcoin/pull/32487#discussion_r2107863310)
Did it here instead - thanks
📝 achow101 opened a pull request: "wallet: Fix wallet interface detection of encrypted wallets"
(https://github.com/bitcoin/bitcoin/pull/32620)
The GUI uses `WalletLoader::isEncrypted()` to detect whether a wallet file is encrypted so that it knows whether to prompt for a passphrase when migrating a legacy wallet. However, legacy wallets need to be opened with `options.require_format = BERKELEY_RO`. Since this wasn't being provided, following #28710, encrypted legacy wallets could not be migrated.

This fixes the issue by detecting when a wallet file is for a legacy wallet, and re-attempting with `options.require_format = BERKELEY_RO`
...
📝 achow101 converted_to_draft a pull request: "wallet: Fix wallet interface detection of encrypted wallets"
(https://github.com/bitcoin/bitcoin/pull/32620)
The GUI uses `WalletLoader::isEncrypted()` to detect whether a wallet file is encrypted so that it knows whether to prompt for a passphrase when migrating a legacy wallet. However, legacy wallets need to be opened with `options.require_format = BERKELEY_RO`. Since this wasn't being provided, following #28710, encrypted legacy wallets could not be migrated.

This fixes the issue by detecting when a wallet file is for a legacy wallet, and re-attempting with `options.require_format = BERKELEY_RO`
...
📝 achow101 opened a pull request: "gui: Add a menu action to restore then migrate a legacy wallet"
(https://github.com/bitcoin-core/gui/pull/877)
Some users will have a backup of their legacy wallet. These cannot be restored since the "Restore Wallet" action expects to be able to load the wallet after restoring, and this fails for legacy wallets now that they are deleted. Furthermore, the "Migrate Wallet" action only allows users to migrate wallets that are in the wallets directory, so such backups cannot be migrated from the GUI.

This PR resolves this issue by adding a menu item in the "Migrate Wallet" menu which allows users to selec
...
💬 achow101 commented on pull request "wallet, rpc, gui: List legacy wallets with a message about migration":
(https://github.com/bitcoin/bitcoin/pull/32619#discussion_r2107887370)
Indeed, done.
💬 adyshimony commented on pull request "wallet: Always set descriptor cache upgraded flag for new wallets":
(https://github.com/bitcoin/bitcoin/pull/32597#issuecomment-2910699910)
ACK

[47237cd](https://github.com/bitcoin/bitcoin/pull/32597/commits/47237cd1938058b29fdec242c3a37611e255fda0)


Manual tests:

```

./bitcoin-cli createwallet "test_32597_wallet" false false "" false true
{
"name": "test_32597_wallet",
"warnings": [
"Empty string given as passphrase, wallet will not be encrypted."
]
}



./bitcoin-cli -rpcwallet=test_32597_wallet getwalletinfo
{
"walletname": "test_32597_wallet",
"walletversion": 169900,
"format": "sqlite
...
📝 theStack opened a pull request: "contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs"
(https://github.com/bitcoin/bitcoin/pull/32621)
This PR is a late follow-up to https://github.com/bitcoin/bitcoin/pull/27432, introducing an option for the utxo-to-sqlite script to store the txid/scriptPubKey columns as bytes (= `BLOB` storage class in sqlite, see e.g. https://www.sqlite.org/datatype3.html in sqlite) rather than hex strings. This was proposed in earlier reviews (https://github.com/bitcoin/bitcoin/pull/27432#issuecomment-1516857024, https://github.com/bitcoin/bitcoin/pull/27432#issuecomment-1653739351) and has the obvious adva
...
💬 Krellan commented on pull request "gui: Add a menu action to restore then migrate a legacy wallet":
(https://github.com/bitcoin-core/gui/pull/877#issuecomment-2910981771)
Good idea. I had this happen to me just recently. I encountered a Catch-22: couldn't restore an old wallet file because it wasn't in a currently recognized format (it told me to use the migrate wallet option instead), but I also couldn't access the wallet in the migrate menu because it hadn't successfully been loaded yet!

I tried manually copying the `wallet.dat` file into a new directory created in my Bitcoin datadir, but that just produced an error at startup saying the wallet was not in a
...
💬 Krellan commented on pull request "Including exception what() in Runaway dialog box":
(https://github.com/bitcoin-core/gui/pull/876#issuecomment-2910984899)
As for the CI, it failed the Windows build because the URL https://github.com/boostorg/move/archive/boost-1.87.0.tar.gz: is no longer found. It's not related to this pull request.
💬 Krellan commented on pull request "Including exception what() in Runaway dialog box":
(https://github.com/bitcoin-core/gui/pull/876#discussion_r2108084452)
Good catch, made "what" a const ref. The string "message" is unchanged because it gets modified later in the function.
💬 Krellan commented on pull request "Including exception what() in Runaway dialog box":
(https://github.com/bitcoin-core/gui/pull/876#discussion_r2108084527)
Good catch, made "what" a const ref. The string "message" is unchanged because it gets modified later in the function.
💬 Krellan commented on pull request "Including exception what() in Runaway dialog box":
(https://github.com/bitcoin-core/gui/pull/876#issuecomment-2911011903)
> Have you verified that we won't output the same error message twice?

I looked at the `Warning` class, and looked at its usages, and the messages that are passed in differ from the text that would arise if an exception were to be thrown (they come from different areas of the code).
💬 ajtowns commented on pull request "contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs":
(https://github.com/bitcoin/bitcoin/pull/32621#issuecomment-2911074418)
> The approach taken is introducing a `-m`/`--mode` parameter which can either have the values "hex" (default) or "bytes". Happy to take suggestions on naming and thoughts on future extensibility etc.

I wonder if separate options would be better, eg `--spk=raw --txid=raw`?

> I think there is no ambiguity on byte-string-serialization of txids; they are ultimately just hash results and hence, they should be stored as such, and adding a big/little endian knob wouldn't make much sense.

I t
...
💬 ajtowns commented on pull request "p2p: Drop unsolicited CMPCTBLOCK from non-HB peer":
(https://github.com/bitcoin/bitcoin/pull/32606#issuecomment-2911077066)
Concept ACK. LLM linter's punctuation advice seems right to me. :)
💬 encloinc commented on pull request "policy: uncap datacarrier by default":
(https://github.com/bitcoin/bitcoin/pull/32406#issuecomment-2911095927)
Concept ACK, arbitrary restrictions won't stop how people are currently using the network already.
⚠️ ou-tai opened an issue: "bitcoin core初次打开无法生成新的收款地址"
(https://github.com/bitcoin/bitcoin/issues/32622)
尝试过了重启客户端,切换界面等多种方法无法解决。
只有通过控制台get new address命令取得新地址后才能在收款界面创建新地址。
💬 maflcko commented on pull request "wallet, rpc, gui: List legacy wallets with a message about migration":
(https://github.com/bitcoin/bitcoin/pull/32619#issuecomment-2911221570)
lgtm ACK f3a444c45fb4bf4e51d53ebf1cf4c2631ded481c