💬 stickies-v commented on pull request "refactor: Remove unused raw-pointer read helper from univalue":
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276196195)
What about this? Adds a CR/LF so should work on windows? (but can't test)
```
<HeaderFromHexdump RawFilePath="%(JsonTestFile.FullPath)" HeaderFilePath="%(JsonTestFile.FullPath).h" SourceHeader="#include <string>
namespace json_tests{ static const std::string %(JsonTestFile.Filename){" SourceFooter="};}" />
```
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276196195)
What about this? Adds a CR/LF so should work on windows? (but can't test)
```
<HeaderFromHexdump RawFilePath="%(JsonTestFile.FullPath)" HeaderFilePath="%(JsonTestFile.FullPath).h" SourceHeader="#include <string>
namespace json_tests{ static const std::string %(JsonTestFile.Filename){" SourceFooter="};}" />
```
💬 vasild commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276217017)
> IIUC this line schedules a replacement sensitive connection because the one we were passed in has the wrong services and so it gets dumped.
Yes.
> I think this is the only line in this function that makes it apply strictly to only sensitive relays. So I wonder if that should be asserted at the top? Or could be renamed to `PushUnbroadcastTxToSensistiveRelay()`? At the very least maybe sensitive-only should be explained in the function description on L933 ?
Right. While this function wi
...
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276217017)
> IIUC this line schedules a replacement sensitive connection because the one we were passed in has the wrong services and so it gets dumped.
Yes.
> I think this is the only line in this function that makes it apply strictly to only sensitive relays. So I wonder if that should be asserted at the top? Or could be renamed to `PushUnbroadcastTxToSensistiveRelay()`? At the very least maybe sensitive-only should be explained in the function description on L933 ?
Right. While this function wi
...
💬 MarcoFalke commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653550331)
Should this also remove the `/* Continued */` code-bloat?
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653550331)
Should this also remove the `/* Continued */` code-bloat?
💬 MarcoFalke commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#discussion_r1276235709)
I wonder if atomic updates (for example the LogPrint macro being renamed, or similar) would be easier to do if the whole code is inside this repo, just like before for the python linter?
(https://github.com/bitcoin/bitcoin/pull/26296#discussion_r1276235709)
I wonder if atomic updates (for example the LogPrint macro being renamed, or similar) would be easier to do if the whole code is inside this repo, just like before for the python linter?
💬 theuni commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#discussion_r1276240902)
I'm not at all opposed to this. In fact, yeah, that probably makes more sense. Could always move to a repo if it gets too big/busy here.
(https://github.com/bitcoin/bitcoin/pull/26296#discussion_r1276240902)
I'm not at all opposed to this. In fact, yeah, that probably makes more sense. Could always move to a repo if it gets too big/busy here.
💬 jonatack commented on pull request "test, rpc: invalid sighashtype coverage":
(https://github.com/bitcoin/bitcoin/pull/28166#discussion_r1276252322)
Done
(https://github.com/bitcoin/bitcoin/pull/28166#discussion_r1276252322)
Done
💬 MarcoFalke commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276249120)
nit: Any reason to re-implement `std::advance()`?
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276249120)
nit: Any reason to re-implement `std::advance()`?
💬 MarcoFalke commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276243984)
shouldn't this use the peerman options struct?
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276243984)
shouldn't this use the peerman options struct?
💬 MarcoFalke commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276240357)
Not sure if the low level net layer is the right place to inspect high level p2p messages and then decide to drop them. It may be good to enumerate why this is needed (if at all).
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1276240357)
Not sure if the low level net layer is the right place to inspect high level p2p messages and then decide to drop them. It may be good to enumerate why this is needed (if at all).
💬 jonatack commented on pull request "test, rpc: invalid sighashtype coverage":
(https://github.com/bitcoin/bitcoin/pull/28166#issuecomment-1653588511)
Thanks @MarcoFalke, done.
(https://github.com/bitcoin/bitcoin/pull/28166#issuecomment-1653588511)
Thanks @MarcoFalke, done.
💬 MarcoFalke commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#issuecomment-1653599387)
Not sure how effective it is to put the transaction into the mempool. I know that your implementation treats the positive case (reply to an `inv` as if the tx wasn't there, or withhold the tx in reply to a `getdata`). However, a failure to reply to an otherwise valid `inv` can still be used to query the mempool. Or similarly, a failure to (also) withhold related transactions in an otherwise valid `getdata` can be used to query the mempool. (For example, if the transaction was a CPFP and the pare
...
(https://github.com/bitcoin/bitcoin/pull/27509#issuecomment-1653599387)
Not sure how effective it is to put the transaction into the mempool. I know that your implementation treats the positive case (reply to an `inv` as if the tx wasn't there, or withhold the tx in reply to a `getdata`). However, a failure to reply to an otherwise valid `inv` can still be used to query the mempool. Or similarly, a failure to (also) withhold related transactions in an otherwise valid `getdata` can be used to query the mempool. (For example, if the transaction was a CPFP and the pare
...
💬 fanquake commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653599491)
> Should this also remove the /* Continued */ code-bloat?
Will add this.
Back to draft while we look at an in-tree approach.
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653599491)
> Should this also remove the /* Continued */ code-bloat?
Will add this.
Back to draft while we look at an in-tree approach.
📝 fanquake converted_to_draft a pull request: "ci: Integrate `bitcoin-tidy` clang-tidy plugin"
(https://github.com/bitcoin/bitcoin/pull/26296)
Demo of integrating the bitcoin-tidy (https://github.com/theuni/bitcoin-tidy-plugin), [clang-tidy plugin](https://clang.llvm.org/extra/clang-tidy/) written by theuni into our tidy CI job. The plugin currently has a single check, `bitcoin-unterminated-logprintf`, the purpose of which would be to replace our Python based lint-logs linter.
The check currently produces output on master, i.e:
```bash
clang-tidy-16 -p=/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu -quiet -lo
...
(https://github.com/bitcoin/bitcoin/pull/26296)
Demo of integrating the bitcoin-tidy (https://github.com/theuni/bitcoin-tidy-plugin), [clang-tidy plugin](https://clang.llvm.org/extra/clang-tidy/) written by theuni into our tidy CI job. The plugin currently has a single check, `bitcoin-unterminated-logprintf`, the purpose of which would be to replace our Python based lint-logs linter.
The check currently produces output on master, i.e:
```bash
clang-tidy-16 -p=/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu -quiet -lo
...
💬 MarcoFalke commented on pull request "test, rpc: invalid sighashtype coverage":
(https://github.com/bitcoin/bitcoin/pull/28166#discussion_r1276267442)
unrelated: Just for reference, `31.99999999` is *really* `31.99999998999999917259629000909626483917236328125`
(https://github.com/bitcoin/bitcoin/pull/28166#discussion_r1276267442)
unrelated: Just for reference, `31.99999999` is *really* `31.99999998999999917259629000909626483917236328125`
👋 MarcoFalke's pull request is ready for review: "refactor: Remove unused raw-pointer read helper from univalue"
(https://github.com/bitcoin/bitcoin/pull/28168)
(https://github.com/bitcoin/bitcoin/pull/28168)
💬 MarcoFalke commented on pull request "refactor: Remove unused raw-pointer read helper from univalue":
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276269972)
Thanks, no idea if and why it worked, but the Windows CI passed the step.
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276269972)
Thanks, no idea if and why it worked, but the Windows CI passed the step.
👍 stickies-v approved a pull request: "refactor: Remove unused raw-pointer read helper from univalue"
(https://github.com/bitcoin/bitcoin/pull/28168#pullrequestreview-1549833812)
utACK fa940f41eaffa4b2a28c465a10a4c12d4b8976b8
(https://github.com/bitcoin/bitcoin/pull/28168#pullrequestreview-1549833812)
utACK fa940f41eaffa4b2a28c465a10a4c12d4b8976b8
💬 MarcoFalke commented on pull request "refactor: Remove unused raw-pointer read helper from univalue":
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276271178)
> can't get iwyu to work on this file
You can just use the output produced by CI (tidy)
> but i think #include <cstring> is now no longer required
Thanks, done.
(https://github.com/bitcoin/bitcoin/pull/28168#discussion_r1276271178)
> can't get iwyu to work on this file
You can just use the output produced by CI (tidy)
> but i think #include <cstring> is now no longer required
Thanks, done.
💬 theuni commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653641372)
Heh, really sorry @fanquake .
I think the out-of-tree approach makes sense for (for example) [plugins where we can create attributes and assign them meaning](https://github.com/theuni/bitcoin-core-clang-plugin/commit/05fb23f21df32df4445951123d281172b12ee61b). In that case, the "atomicity" issue goes away, because the code either respects the attribute or it doesn't.
But yeah, now that @MarcoFalke mentions it, that approach is cumbersome when we have to worry about things getting out of syn
...
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653641372)
Heh, really sorry @fanquake .
I think the out-of-tree approach makes sense for (for example) [plugins where we can create attributes and assign them meaning](https://github.com/theuni/bitcoin-core-clang-plugin/commit/05fb23f21df32df4445951123d281172b12ee61b). In that case, the "atomicity" issue goes away, because the code either respects the attribute or it doesn't.
But yeah, now that @MarcoFalke mentions it, that approach is cumbersome when we have to worry about things getting out of syn
...
💬 fanquake commented on pull request "ci: Integrate `bitcoin-tidy` clang-tidy plugin":
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653647053)
> @fanquake Want to keep going here, or shall I open a new PR?
I can convert this over. I think retaining the current build as-is, is ok.
(https://github.com/bitcoin/bitcoin/pull/26296#issuecomment-1653647053)
> @fanquake Want to keep going here, or shall I open a new PR?
I can convert this over. I think retaining the current build as-is, is ok.