💬 fjahr commented on pull request "assumeutxo: Check snapshot base block is not in invalid chain":
(https://github.com/bitcoin/bitcoin/pull/30267#discussion_r1644425662)
taken with minor edits
(https://github.com/bitcoin/bitcoin/pull/30267#discussion_r1644425662)
taken with minor edits
💬 fjahr commented on pull request "assumeutxo: Check snapshot base block is not in invalid chain":
(https://github.com/bitcoin/bitcoin/pull/30267#discussion_r1644425900)
I think it's a bit overkill but it was easy to add and also shouldn't make the test considerably slower, so I added coverage for this as well.
(https://github.com/bitcoin/bitcoin/pull/30267#discussion_r1644425900)
I think it's a bit overkill but it was easy to add and also shouldn't make the test considerably slower, so I added coverage for this as well.
💬 Eunovo commented on pull request "Tr partial descriptors":
(https://github.com/bitcoin/bitcoin/pull/30243#issuecomment-2176054949)
> Found a crash in the `mocked_descriptor_parse` fuzz target, to reproduce:
>
> ```
> $ echo "dHIoJUJELHJhd2xlYWYoQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCLEE3LCUyNywlQjcsJTIzLCVCZCwlRkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk
...
(https://github.com/bitcoin/bitcoin/pull/30243#issuecomment-2176054949)
> Found a crash in the `mocked_descriptor_parse` fuzz target, to reproduce:
>
> ```
> $ echo "dHIoJUJELHJhd2xlYWYoQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCLEE3LCUyNywlQjcsJTIzLCVCZCwlRkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk
...
💬 Sjors commented on pull request "Stratum v2 Noise Protocol":
(https://github.com/bitcoin/bitcoin/pull/29346#issuecomment-2176091625)
Trivial rebase after #29015.
(https://github.com/bitcoin/bitcoin/pull/29346#issuecomment-2176091625)
Trivial rebase after #29015.
💬 fanquake commented on pull request "upnp: fix build with miniupnpc 2.2.8":
(https://github.com/bitcoin/bitcoin/pull/30283#issuecomment-2176129689)
Guix Build (x86_64):
```bash
2f879df88862b94c211670a451f442eb951a6ec963d841be683d1ee7c14cf49a guix-build-8acdf6654083/output/aarch64-linux-gnu/SHA256SUMS.part
00f163274f35e955eb5ef00cb1e6e81e828b3b7415d15f594ea61bc921c000b9 guix-build-8acdf6654083/output/aarch64-linux-gnu/bitcoin-8acdf6654083-aarch64-linux-gnu-debug.tar.gz
e83b5155ab258164204fd117f7974af90b580c2f0f0da713a1066eb2caecf651 guix-build-8acdf6654083/output/aarch64-linux-gnu/bitcoin-8acdf6654083-aarch64-linux-gnu.tar.gz
21ac9b2
...
(https://github.com/bitcoin/bitcoin/pull/30283#issuecomment-2176129689)
Guix Build (x86_64):
```bash
2f879df88862b94c211670a451f442eb951a6ec963d841be683d1ee7c14cf49a guix-build-8acdf6654083/output/aarch64-linux-gnu/SHA256SUMS.part
00f163274f35e955eb5ef00cb1e6e81e828b3b7415d15f594ea61bc921c000b9 guix-build-8acdf6654083/output/aarch64-linux-gnu/bitcoin-8acdf6654083-aarch64-linux-gnu-debug.tar.gz
e83b5155ab258164204fd117f7974af90b580c2f0f0da713a1066eb2caecf651 guix-build-8acdf6654083/output/aarch64-linux-gnu/bitcoin-8acdf6654083-aarch64-linux-gnu.tar.gz
21ac9b2
...
💬 paplorinc commented on pull request "test: Validate oversized transactions or without inputs":
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644498191)
I've calculated the maxPayloadSize by serializing the values that definitely overflows, subtracting the op_return data size from it, getting the baseline serialization size, which I can just subtract from (MAX_BLOCK_WEIGHT / WITNESS_SCALE_FACTOR) and get the threshold.
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644498191)
I've calculated the maxPayloadSize by serializing the values that definitely overflows, subtracting the op_return data size from it, getting the baseline serialization size, which I can just subtract from (MAX_BLOCK_WEIGHT / WITNESS_SCALE_FACTOR) and get the threshold.
💬 paplorinc commented on pull request "test: Validate oversized transactions or without inputs":
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644498657)
I've done this as well as part of the above change.
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644498657)
I've done this as well as part of the above change.
💬 furszy commented on pull request "wallet: Migrate legacy wallets to descriptor wallets without requiring BDB":
(https://github.com/bitcoin/bitcoin/pull/26596#discussion_r1635494042)
> No. `LegacyDataSPKM` does not have an `IsMine()` function, so this call needs to be removed otherwise it will not compile.
I think the outcome would be worst. It would compile using the base `ScriptPubKeyMan::IsMine` function. Returning `ISMINE_NO` for all `IsMine` calls.
Still, I think we should state why this assertion removal is ok in the commit description too.
(https://github.com/bitcoin/bitcoin/pull/26596#discussion_r1635494042)
> No. `LegacyDataSPKM` does not have an `IsMine()` function, so this call needs to be removed otherwise it will not compile.
I think the outcome would be worst. It would compile using the base `ScriptPubKeyMan::IsMine` function. Returning `ISMINE_NO` for all `IsMine` calls.
Still, I think we should state why this assertion removal is ok in the commit description too.
💬 furszy commented on pull request "wallet: Migrate legacy wallets to descriptor wallets without requiring BDB":
(https://github.com/bitcoin/bitcoin/pull/26596#discussion_r1644499042)
Not really an issue but this works because `TopUp` sets the descriptor range_end to 1 on the first run when the descriptor is not ranged.
As this would fail if we ever change that, what if we set the range properly in `WalletDescriptor` constructor?
E.g.
```c++
WalletDescriptor w_desc(std::move(desc), creation_time, /*range_start=*/0, /*range_end=*/1, /*next_index=*/0)
```
Also, this change doesn't seem to be related to c653f4fdbfe06 description?
(https://github.com/bitcoin/bitcoin/pull/26596#discussion_r1644499042)
Not really an issue but this works because `TopUp` sets the descriptor range_end to 1 on the first run when the descriptor is not ranged.
As this would fail if we ever change that, what if we set the range properly in `WalletDescriptor` constructor?
E.g.
```c++
WalletDescriptor w_desc(std::move(desc), creation_time, /*range_start=*/0, /*range_end=*/1, /*next_index=*/0)
```
Also, this change doesn't seem to be related to c653f4fdbfe06 description?
💬 paplorinc commented on pull request "test: Validate oversized transactions or without inputs":
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644501633)
I would need to construct fully valid transaction for it to pass - since this doesn't have valid inputs it's considered a coinbase transaction which would need some extra data, which would be outside the scope of this validation. Since I'm only changing the outputs size and that triggers the correct error, I consider that to be enough.
(https://github.com/bitcoin/bitcoin/pull/29862#discussion_r1644501633)
I would need to construct fully valid transaction for it to pass - since this doesn't have valid inputs it's considered a coinbase transaction which would need some extra data, which would be outside the scope of this validation. Since I'm only changing the outputs size and that triggers the correct error, I consider that to be enough.
📝 instagibbs opened a pull request: "fuzz: have package_rbf always make small txns"
(https://github.com/bitcoin/bitcoin/pull/30300)
hopefully resolves https://github.com/bitcoin/bitcoin/issues/30241
The fuzz target is generating a large amount of
transactions, but the core of the logic is
ConsumeTxMemPoolEntry making the mempool
entries for adding to the mempool. Since
ConsumeTxMemPoolEntry generates its own transaction "vsize", we can improve efficiency of the target
by explicitly creating very small transactionsm
reducing the hashing and mempory burden.
(https://github.com/bitcoin/bitcoin/pull/30300)
hopefully resolves https://github.com/bitcoin/bitcoin/issues/30241
The fuzz target is generating a large amount of
transactions, but the core of the logic is
ConsumeTxMemPoolEntry making the mempool
entries for adding to the mempool. Since
ConsumeTxMemPoolEntry generates its own transaction "vsize", we can improve efficiency of the target
by explicitly creating very small transactionsm
reducing the hashing and mempory burden.
📝 theuni opened a pull request: "depends: bump miniupnpc to 2.2.8"
(https://github.com/bitcoin/bitcoin/pull/30301)
Drops two of our patches that have been merged upstream and adjusts the other to deal with recent changes.
Follow-up from #30283. I can't vouch for the upstream changes here.
(https://github.com/bitcoin/bitcoin/pull/30301)
Drops two of our patches that have been merged upstream and adjusts the other to deal with recent changes.
Follow-up from #30283. I can't vouch for the upstream changes here.
💬 instagibbs commented on issue "fuzz: timeout/oom in package_rbf":
(https://github.com/bitcoin/bitcoin/issues/30241#issuecomment-2176231802)
opened https://github.com/bitcoin/bitcoin/pull/30300, I think this should resolve it?
(https://github.com/bitcoin/bitcoin/issues/30241#issuecomment-2176231802)
opened https://github.com/bitcoin/bitcoin/pull/30300, I think this should resolve it?
💬 maflcko commented on pull request "fuzz: have package_rbf always make small txns":
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176233090)
> ConsumeTxMemPoolEntry generates its own transaction "vsize",
Can you add a reference to this claim? Looking at `src/test/fuzz/util/mempool.cpp`, I couldn't find it.
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176233090)
> ConsumeTxMemPoolEntry generates its own transaction "vsize",
Can you add a reference to this claim? Looking at `src/test/fuzz/util/mempool.cpp`, I couldn't find it.
💬 maflcko commented on pull request "fuzz: have package_rbf always make small txns":
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176238029)
Oh, I guess indirectly via `sig_op_cost`?
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176238029)
Oh, I guess indirectly via `sig_op_cost`?
🤔 fjahr reviewed a pull request: "p2p: For assumeutxo, download snapshot chain before background chain"
(https://github.com/bitcoin/bitcoin/pull/29519#pullrequestreview-2125652115)
tACK e977c698f97ac9bba30e4e3837f41721841c28c4
I reviewed the new changes and re-tested the behavior on Signet.
I mostly agree with @mzumsande above and will post some more thoughts on #30288 rather than here since the conversation seems to have moved over there.
So, since I agree this is not something we should encounter this is not a blocker, but just to confirm my understanding: with the current state of the change, if there was an actual other best chain deeper than the snapshot disc
...
(https://github.com/bitcoin/bitcoin/pull/29519#pullrequestreview-2125652115)
tACK e977c698f97ac9bba30e4e3837f41721841c28c4
I reviewed the new changes and re-tested the behavior on Signet.
I mostly agree with @mzumsande above and will post some more thoughts on #30288 rather than here since the conversation seems to have moved over there.
So, since I agree this is not something we should encounter this is not a blocker, but just to confirm my understanding: with the current state of the change, if there was an actual other best chain deeper than the snapshot disc
...
💬 fjahr commented on pull request "p2p: For assumeutxo, download snapshot chain before background chain":
(https://github.com/bitcoin/bitcoin/pull/29519#discussion_r1644544564)
nit: A bit easier to parse IMO, only if you have to retouch.
```suggestion
// When we sync with AssumeUtxo and discover the snapshot is not in the peer's best chain, abort:
```
(https://github.com/bitcoin/bitcoin/pull/29519#discussion_r1644544564)
nit: A bit easier to parse IMO, only if you have to retouch.
```suggestion
// When we sync with AssumeUtxo and discover the snapshot is not in the peer's best chain, abort:
```
💬 maflcko commented on pull request "fuzz: have package_rbf always make small txns":
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176243342)
lgtm ACK 4ccb3d6d0d576d32da8a1b9c6e70962cbd0f19fe
(Assuming my assumption about the vsize mocking via sigop cost is correct)
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176243342)
lgtm ACK 4ccb3d6d0d576d32da8a1b9c6e70962cbd0f19fe
(Assuming my assumption about the vsize mocking via sigop cost is correct)
💬 instagibbs commented on pull request "fuzz: have package_rbf always make small txns":
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176244685)
> Oh, I guess indirectly via sig_op_cost?
Right, sorry!
https://github.com/bitcoin/bitcoin/pull/29879 previously touched on this
(https://github.com/bitcoin/bitcoin/pull/30300#issuecomment-2176244685)
> Oh, I guess indirectly via sig_op_cost?
Right, sorry!
https://github.com/bitcoin/bitcoin/pull/29879 previously touched on this
💬 sr-gi commented on pull request "p2p: Fill reconciliation sets (Erlay) attempt 2":
(https://github.com/bitcoin/bitcoin/pull/30116#discussion_r1644607912)
I'm curious to know where do you get that parent count range from 🤔
(https://github.com/bitcoin/bitcoin/pull/30116#discussion_r1644607912)
I'm curious to know where do you get that parent count range from 🤔