Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 achow101 commented on pull request "test: Fixes and updates to wallet_backwards_compatibility.py for 25.0 and descriptor wallets":
(https://github.com/bitcoin/bitcoin/pull/28027#discussion_r1258614077)
Done
👍 ryanofsky approved a pull request: "test: indexes, fix on error infinite loop"
(https://github.com/bitcoin/bitcoin/pull/28044#pullrequestreview-1522637462)
Code review ACK 4b405318d4c476351cccc30588f9126edd94cc35
💬 ryanofsky commented on pull request "test: indexes, fix on error infinite loop":
(https://github.com/bitcoin/bitcoin/pull/28044#discussion_r1258649315)
In commit "test: indexes, fix on error infinite loop" (4b405318d4c476351cccc30588f9126edd94cc35)

I found "As index sync failures" comment difficult to understand because it was hard to see how it directly related to code. Would suggest something more literal like "Assert shutdown was not requested to abort the test, instead of looping forever, in case there was an unexpected error in the index that caused it to stop syncing and request a shutdown"
💬 ryanofsky commented on pull request "wallet: address book migration bug fixes":
(https://github.com/bitcoin/bitcoin/pull/28038#discussion_r1258636424)
This looks ok, but I think would have been more straightforward to write as:

```diff
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index 8fa93b97d655..ac6520e95a29 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -4059,10 +4059,9 @@ bool CWallet::ApplyMigrationData(MigrationData& data, bilingual_str& error)
WalletBatch batch{wallet.GetDatabase()};
for (const auto& [destination, addr_book_data] : wallet.m_address_book) {
auto
...
🤔 ryanofsky reviewed a pull request: "wallet: address book migration bug fixes"
(https://github.com/bitcoin/bitcoin/pull/28038#pullrequestreview-1522617977)
Code review ACK 7ecc29a0b7a23d8f5d3c1e6a0dad29b3ad839eb9
👍 ryanofsky approved a pull request: "refactor: Move stopafterblockimport option out of blockstorage"
(https://github.com/bitcoin/bitcoin/pull/28053#pullrequestreview-1522654951)
Code review ACK 5867bb1ae7d1d345a5fd3b341d88ff777b6ef404. This looks good, and now can be rebased and simplified because #27607 is merged
💬 dsldsl commented on issue "Malware reported in scan of bitcoin-qt versions 22 and 24.0.1 apple darwin":
(https://github.com/bitcoin/bitcoin/issues/28049#issuecomment-1629472415)
I guess the answer is that its not a known false positive... so likely was an actual issue. hm.

unfortunately i deleted the files so can't confirm the checksums.

The virus scanner is https://www.intego.com/virusbarrier-scanner
💬 furszy commented on pull request "test: indexes, fix on error infinite loop":
(https://github.com/bitcoin/bitcoin/pull/28044#discussion_r1258681867)
hmm ok.
What I meant with the "As index sync failures" comment is that all index sync errors trigger a shutdown.
💬 furszy commented on pull request "test: indexes, fix on error infinite loop":
(https://github.com/bitcoin/bitcoin/pull/28044#issuecomment-1629484952)
Updated comment per feedback.
💬 instagibbs commented on pull request "Bugfix: net_processing: Restore "Already requested" error for FetchBlock":
(https://github.com/bitcoin/bitcoin/pull/28055#discussion_r1258722968)
```suggestion
self.log.info("But every fetch to another peer causes us to forget previous attempts for same block")
self.nodes[0].add_p2p_connection(P2PInterface())
peers = self.nodes[0].getpeerinfo()
assert_equal(len(peers), 4)
slow_peer_id_2 = peers[3]["id"]
assert_equal(self.nodes[0].getblockfrompeer(short_tip, slow_peer_id_2), {})
assert_equal(self.nodes[0].getblockfrompeer(short_tip, slow_peer_id), {})

```
🤔 instagibbs reviewed a pull request: "Bugfix: net_processing: Restore "Already requested" error for FetchBlock"
(https://github.com/bitcoin/bitcoin/pull/28055#pullrequestreview-1522752824)
The result of this PR would be that it would return an error IFF that particular block was requested by that specific peer last. If you request the block from another peer, the behavior would be unchanged. Is that acceptable?
💬 instagibbs commented on pull request "Bugfix: net_processing: Restore "Already requested" error for FetchBlock":
(https://github.com/bitcoin/bitcoin/pull/28055#discussion_r1258724942)
example test covering the behavior I'm mentioning
💬 theuni commented on issue "Use semantic analysis in lint-logs.py":
(https://github.com/bitcoin/bitcoin/issues/27825#issuecomment-1629581578)
See [here](https://github.com/theuni/bitcoin-core-clang-plugin/commit/05fb23f21df32df4445951123d281172b12ee61b) for an example of this implemented as a `clang` plugin rather than `clang-tidy`. As noted above, it's pretty rough because LLVM does not yet expose several useful helpers.

Advantages:
- We can invent our own attributes, which is way nicer for future-proofing. See [here](https://github.com/theuni/bitcoin-tidy-experiments/pull/1) for an example of the kind of synchronization problems
...
💬 ItIsOHM commented on pull request "[WIP] rpc: doc: Added `longpollid` and `data` params to `template_request` #27998":
(https://github.com/bitcoin/bitcoin/pull/28056#issuecomment-1629627284)
Hey there, is this PR ready to merge if there aren't any errors?
💬 brunoerg commented on pull request "Add support for "partial" fuzzers that indicate usefulness":
(https://github.com/bitcoin/bitcoin/pull/27552#discussion_r1258853476)
```suggestion
if (!SanityCheckASMap(asmap, 128)) return FuzzResult::UNINTERESTING;
```
💬 sipa commented on pull request "[WIP] rpc: doc: Added `longpollid` and `data` params to `template_request` #27998":
(https://github.com/bitcoin/bitcoin/pull/28056#issuecomment-1629690355)
People will need to review it.
👋 achow101's pull request is ready for review: "wallet: Keep track of the wallet's own transaction outputs in memory"
(https://github.com/bitcoin/bitcoin/pull/27286)
💬 brunoerg commented on pull request "Add support for "partial" fuzzers that indicate usefulness":
(https://github.com/bitcoin/bitcoin/pull/27552#issuecomment-1629809606)
I did a quick test. I suppose that with this new approach, `miniscript_script` corpus will contain only valid miniscripts, this sounds good. So, I first ran: `FUZZ=miniscript_script src/test/fuzz/fuzz new_corpus -runs=1000000` and then I ran `rpc` (`decodescript`) with the corpus from `miniscript_script` - `FUZZ=rpc LIMIT_TO_RPC_COMMAND=decodescript src/test/fuzz/fuzz new_corpus -runs=1`. It worked as expected!

Also "fuzzed" `decodescript` RPC using the following script:
```py
#!/usr/bin/en
...
📝 Mdashad071192 opened a pull request: "Create generator-generic-ossf-slsa3-publish.yml"
(https://github.com/bitcoin-core/gui/pull/746)

<!--
*** Please remove the following help text before submitting: ***

Pull requests without a rationale and clear improvement may be closed
immediately.

GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->

<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:

* Any test improvements or new tests that impr
...
💬 ryanofsky commented on pull request "kernel: Rm ShutdownRequested and AbortNode from validation code.":
(https://github.com/bitcoin/bitcoin/pull/27861#discussion_r1259011316)
> Also, it would be good to explain why in the following commits it is fine to then ignore the exceptions and no longer catch them.

I probably just missed something, but there shouldn't be places in the following commits where exceptions are no longer caught. This should just be a refactoring.

I agree though that throwing undocumented exceptions is not good. And probably getting rid of exceptions and using nodiscard return values would be better than documenting them. The reason these are
...