💬 AngusP commented on pull request "test: Added test coverage to listsinceblock rpc":
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630897082)
re. this comment https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630237777 and needing to use the full path again, I think it is that `rename(...)` returns a new `Path` instance, which is then the 'correct' one to use going forwards for further changes you want to happen on-disk (alas Python has no 'use of moved value' concept like Rust et al. that would've complained at you trying to do this).
I think the way to think of this is that a `Path` is just a *path*, not a file-handle, s
...
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630897082)
re. this comment https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630237777 and needing to use the full path again, I think it is that `rename(...)` returns a new `Path` instance, which is then the 'correct' one to use going forwards for further changes you want to happen on-disk (alas Python has no 'use of moved value' concept like Rust et al. that would've complained at you trying to do this).
I think the way to think of this is that a `Path` is just a *path*, not a file-handle, s
...
💬 AngusP commented on pull request "test: Added test coverage to listsinceblock rpc":
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630910069)
I've added https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630897082 with a suggestion
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630910069)
I've added https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630897082 with a suggestion
💬 AngusP commented on pull request "test: Added test coverage to listsinceblock rpc":
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630912317)
(Could even `blk_dat_moved.rename(blk_dat.name)` to avoid repeating the literal `"blk00000.dat"` but meh)
(https://github.com/bitcoin/bitcoin/pull/30195#discussion_r1630912317)
(Could even `blk_dat_moved.rename(blk_dat.name)` to avoid repeating the literal `"blk00000.dat"` but meh)
📝 hebasto converted_to_draft a pull request: "ci: Native Windows CI job cleanup"
(https://github.com/bitcoin/bitcoin/pull/30242)
This PR:
1. Removes no longer needed workaround for GHA Windows images.
GHA Windows images previously had multiple VC Build Tools installed, which required specifying the `VCPKG_PLATFORM_TOOLSET_VERSION` explicitly to avoid linker errors. This issue has been resolved as per
https://github.com/actions/runner-images/issues/9701.
2. Switches all references to temporary files to relative ones for consistency and readability.
(https://github.com/bitcoin/bitcoin/pull/30242)
This PR:
1. Removes no longer needed workaround for GHA Windows images.
GHA Windows images previously had multiple VC Build Tools installed, which required specifying the `VCPKG_PLATFORM_TOOLSET_VERSION` explicitly to avoid linker errors. This issue has been resolved as per
https://github.com/actions/runner-images/issues/9701.
2. Switches all references to temporary files to relative ones for consistency and readability.
👋 hebasto's pull request is ready for review: "ci: Native Windows CI job cleanup"
(https://github.com/bitcoin/bitcoin/pull/30242)
(https://github.com/bitcoin/bitcoin/pull/30242)
💬 hebasto commented on pull request "ci: Native Windows CI job cleanup":
(https://github.com/bitcoin/bitcoin/pull/30242#issuecomment-2154501642)
Friendly ping @m3dwards @sipsorcery ;)
(https://github.com/bitcoin/bitcoin/pull/30242#issuecomment-2154501642)
Friendly ping @m3dwards @sipsorcery ;)
💬 Sjors commented on pull request "Introduce Miner interface":
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967421)
I'm now setting `uint256 tip{miner.getTipHash()};` at the top. For long polls it's updated after the wait. See d1be135e568605539fa3932da6e7c5032816825b.
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967421)
I'm now setting `uint256 tip{miner.getTipHash()};` at the top. For long polls it's updated after the wait. See d1be135e568605539fa3932da6e7c5032816825b.
💬 Sjors commented on pull request "Introduce Miner interface":
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967487)
Renamed to `Mining`
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967487)
Renamed to `Mining`
💬 Sjors commented on pull request "Introduce Miner interface":
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967663)
I replaced `getTip()` with `getTipHash()`. `Sv2TemplateProvider` doesn't need it, so for now I use it in a few places in `rpc/mining.cpp`, but then fall back to `chainman.m_blockman.LookupBlockIndex(miner.getTipHash())` where we need more info.
A future refactor could move more of `getblocktemplate` implementation details out of the RPC.
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967663)
I replaced `getTip()` with `getTipHash()`. `Sv2TemplateProvider` doesn't need it, so for now I use it in a few places in `rpc/mining.cpp`, but then fall back to `chainman.m_blockman.LookupBlockIndex(miner.getTipHash())` where we need more info.
A future refactor could move more of `getblocktemplate` implementation details out of the RPC.
💬 Sjors commented on pull request "Introduce Miner interface":
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967783)
Thanks, replaced it with `get()`.
(https://github.com/bitcoin/bitcoin/pull/30200#discussion_r1630967783)
Thanks, replaced it with `get()`.
💬 Sjors commented on pull request "Introduce Miner interface":
(https://github.com/bitcoin/bitcoin/pull/30200#issuecomment-2154504861)
@ryanofsky thanks for the review! I rebased and changed a few things to address comments, see inline.
Also added `IsInitialBlockDownload`, which was the last thing `Sv2TemplateProvider` still needed `ChainstateManager& m_chainman;` for.
I'll cherry-pick this into #29432 to see if we need anything more.
(https://github.com/bitcoin/bitcoin/pull/30200#issuecomment-2154504861)
@ryanofsky thanks for the review! I rebased and changed a few things to address comments, see inline.
Also added `IsInitialBlockDownload`, which was the last thing `Sv2TemplateProvider` still needed `ChainstateManager& m_chainman;` for.
I'll cherry-pick this into #29432 to see if we need anything more.
📝 Sjors converted_to_draft a pull request: "Introduce Mining interface"
(https://github.com/bitcoin/bitcoin/pull/30200)
Introduce a `Mining` interface for the `getblocktemplate` and `generateblock` RPC to use now, and for Stratum v2 to use later.
Suggested here: https://github.com/bitcoin/bitcoin/pull/29346#issuecomment-2108528652
The selection of methods added to the interface is mostly based on what the Template Provider in #29432 uses. It could be expanded further so that `rpc/mining.cpp` no longer needs `EnsureMemPool` and `EnsureChainman`.
This PR should be a pure refactor.
(https://github.com/bitcoin/bitcoin/pull/30200)
Introduce a `Mining` interface for the `getblocktemplate` and `generateblock` RPC to use now, and for Stratum v2 to use later.
Suggested here: https://github.com/bitcoin/bitcoin/pull/29346#issuecomment-2108528652
The selection of methods added to the interface is mostly based on what the Template Provider in #29432 uses. It could be expanded further so that `rpc/mining.cpp` no longer needs `EnsureMemPool` and `EnsureChainman`.
This PR should be a pure refactor.
💬 glozow commented on pull request "test: Add Compact Block Encoding test `ReceiveWithExtraTransactions` covering non-empty `extra_txn`":
(https://github.com/bitcoin/bitcoin/pull/30237#issuecomment-2154575591)
Concept ACK
> > Not sure if that is worth addressing since it's so rare but perhaps simply adding a comment that the test might fail every 2^48 runs is good?
>
> I think it's worth avoiding, I don't really like the notion of flaky tests maybe failing for a random reason, even if it is very improbable. I'd guess short-ID collisions would also affect some of the other existing tests in here so there's additional benefit in them not being flaky too.
Not sure exactly how flaky it is and don
...
(https://github.com/bitcoin/bitcoin/pull/30237#issuecomment-2154575591)
Concept ACK
> > Not sure if that is worth addressing since it's so rare but perhaps simply adding a comment that the test might fail every 2^48 runs is good?
>
> I think it's worth avoiding, I don't really like the notion of flaky tests maybe failing for a random reason, even if it is very improbable. I'd guess short-ID collisions would also affect some of the other existing tests in here so there's additional benefit in them not being flaky too.
Not sure exactly how flaky it is and don
...
🤔 shaavan reviewed a pull request: "consensus: Store transaction nVersion as uint32_t"
(https://github.com/bitcoin/bitcoin/pull/29325#pullrequestreview-2104235508)
ACK 659663af32f02c570e334e8f375fd5f5737258d7 ⚡️
(https://github.com/bitcoin/bitcoin/pull/29325#pullrequestreview-2104235508)
ACK 659663af32f02c570e334e8f375fd5f5737258d7 ⚡️
📝 Eunovo opened a pull request: "Tr partial descriptors"
(https://github.com/bitcoin/bitcoin/pull/30243)
This PR adds support for rawnode() and rawleaf() descriptors discussed in #24114 and [tr-rawnode-and-rawleaf](https://delvingbitcoin.org/t/tr-rawnode-and-rawleaf-support/901)
(https://github.com/bitcoin/bitcoin/pull/30243)
This PR adds support for rawnode() and rawleaf() descriptors discussed in #24114 and [tr-rawnode-and-rawleaf](https://delvingbitcoin.org/t/tr-rawnode-and-rawleaf-support/901)
📝 Eunovo converted_to_draft a pull request: "Tr partial descriptors"
(https://github.com/bitcoin/bitcoin/pull/30243)
This PR adds support for rawnode() and rawleaf() under tr() descriptor discussed in #24114 and [tr-rawnode-and-rawleaf](https://delvingbitcoin.org/t/tr-rawnode-and-rawleaf-support/901)
(https://github.com/bitcoin/bitcoin/pull/30243)
This PR adds support for rawnode() and rawleaf() under tr() descriptor discussed in #24114 and [tr-rawnode-and-rawleaf](https://delvingbitcoin.org/t/tr-rawnode-and-rawleaf-support/901)
💬 TheCharlatan commented on pull request "indexes: Don't wipe indexes again when continuing a prior reindex":
(https://github.com/bitcoin/bitcoin/pull/30132#issuecomment-2154691207)
Thank you for your suggestions @ryanofsky! I applied both of your suggested patches.
eeea0818c1a20adc5225b98b185953d386c033e0 -> 682f1f1827dff78208bc1272f82d217c42a2cd69 ([preserveIndexOnRestart_4](https://github.com/TheCharlatan/bitcoin/tree/preserveIndexOnRestart_4) -> [preserveIndexOnRestart_5](https://github.com/TheCharlatan/bitcoin/tree/preserveIndexOnRestart_5), [compare](https://github.com/TheCharlatan/bitcoin/compare/preserveIndexOnRestart_4..preserveIndexOnRestart_5))
* Addressed
...
(https://github.com/bitcoin/bitcoin/pull/30132#issuecomment-2154691207)
Thank you for your suggestions @ryanofsky! I applied both of your suggested patches.
eeea0818c1a20adc5225b98b185953d386c033e0 -> 682f1f1827dff78208bc1272f82d217c42a2cd69 ([preserveIndexOnRestart_4](https://github.com/TheCharlatan/bitcoin/tree/preserveIndexOnRestart_4) -> [preserveIndexOnRestart_5](https://github.com/TheCharlatan/bitcoin/tree/preserveIndexOnRestart_5), [compare](https://github.com/TheCharlatan/bitcoin/compare/preserveIndexOnRestart_4..preserveIndexOnRestart_5))
* Addressed
...
👍 hebasto approved a pull request: "util: add VecDeque"
(https://github.com/bitcoin/bitcoin/pull/30161#pullrequestreview-2104389645)
re-ACK 7b8eea067f188c0b0e52ef21b01aedd37667a237, I've verified changes since my recent [review](https://github.com/bitcoin/bitcoin/pull/30161#pullrequestreview-2103018546) with
```
git range-diff master ee253ca7dea9bed01d4c1800760477ef06310df8 7b8eea067f188c0b0e52ef21b01aedd37667a237
```
(https://github.com/bitcoin/bitcoin/pull/30161#pullrequestreview-2104389645)
re-ACK 7b8eea067f188c0b0e52ef21b01aedd37667a237, I've verified changes since my recent [review](https://github.com/bitcoin/bitcoin/pull/30161#pullrequestreview-2103018546) with
```
git range-diff master ee253ca7dea9bed01d4c1800760477ef06310df8 7b8eea067f188c0b0e52ef21b01aedd37667a237
```
📝 m3dwards opened a pull request: "ci: parse TEST_RUNNER_EXTRA into an array"
(https://github.com/bitcoin/bitcoin/pull/30244)
While working on CI I wanted to disable some functional tests so I used the `TEST_RUNNER_EXTRA` var. The problem I had was tests that have flags such as `rpc_bind.py --ipv6` must be passed in quotes otherwise the `--ipv6` portion will be considered an argument to `test_runner.py` rather than a test name.
This change allows proper parsing of quotes and complex values such as:
```shell
TEST_RUNNER_EXTRA='--exclude "rpc_bind.py --ipv6, feature_proxy.py"'
```
(https://github.com/bitcoin/bitcoin/pull/30244)
While working on CI I wanted to disable some functional tests so I used the `TEST_RUNNER_EXTRA` var. The problem I had was tests that have flags such as `rpc_bind.py --ipv6` must be passed in quotes otherwise the `--ipv6` portion will be considered an argument to `test_runner.py` rather than a test name.
This change allows proper parsing of quotes and complex values such as:
```shell
TEST_RUNNER_EXTRA='--exclude "rpc_bind.py --ipv6, feature_proxy.py"'
```
💬 instagibbs commented on pull request "util: add VecDeque":
(https://github.com/bitcoin/bitcoin/pull/30161#issuecomment-2154727588)
reACK https://github.com/bitcoin/bitcoin/pull/30161/commits/7b8eea067f188c0b0e52ef21b01aedd37667a237
reviewed via `git range-diff master ee253ca 7b8eea0`
(https://github.com/bitcoin/bitcoin/pull/30161#issuecomment-2154727588)
reACK https://github.com/bitcoin/bitcoin/pull/30161/commits/7b8eea067f188c0b0e52ef21b01aedd37667a237
reviewed via `git range-diff master ee253ca 7b8eea0`