Bitcoin Core Github
43 subscribers
122K links
Download Telegram
💬 vasild commented on pull request "fuzz: extend ConsumeNetAddr() to return I2P and CJDNS addresses":
(https://github.com/bitcoin/bitcoin/pull/26859#issuecomment-1905788444)
`790f0cb60d...b851c5385d`: rebase and adjust `fuzz/banman.cpp` due to https://github.com/bitcoin/bitcoin/pull/26859#pullrequestreview-1833881229.

> is the CJDNS address from ConsumeNetAddr always valid

Yes, I think so. Anyway, for safety wrt future changes I added `IsValid()` to the check. That is - omit lookup for valid CJDNS addresses.
💬 Sjors commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#issuecomment-1905800964)
I tried find some existing code that use the `std::vector<unsigned char>` variant. Didn't find it at first glance. It seems we almost always know what size to expect.

So that might be a good reason to kill that variant and only support loading an std::string of unknown size for now.
💬 maflcko commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#discussion_r1463138328)
```suggestion
try {
AutoFile{fsbridge::fopen(filename, "wb")} << Span{data};
```

nit: Can be written shorter
🤔 shaavan reviewed a pull request: "init: handle empty settings file gracefully"
(https://github.com/bitcoin/bitcoin/pull/29144#pullrequestreview-1838611173)
Code review ACK e9014042a6bed8c16cc9a31fc35cb709d4b3c766

After our discussions in [this](https://github.com/bitcoin/bitcoin/pull/29144#discussion_r1450404094) comment thread, I believe the changes in this PR are complete and are implemented adequately.
💬 Sjors commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#discussion_r1463183042)
Took me a while to wrap my head around the various calls involved, but I guess the nullptr check is handled in `read()`, which is called by the various `ser_read...` functions in `seralize.h`, which is called by the `Unserialize` implementations, which is called by `<<`.
💬 Sjors commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#discussion_r1463199231)
On the read side I'm keeping the explicit nullptr check for now, so I don't have to catch `fs::file_size` failure.
💬 Sjors commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#discussion_r1463205250)
At the point `WriteBinaryFile` is so small you might as well have the called do the try - catch. But might as well keep if around as long as `ReadBinaryFile` can't be made smaller.
💬 furszy commented on pull request "p2p: adaptive connections services flags":
(https://github.com/bitcoin/bitcoin/pull/28170#discussion_r1463274709)
> > CConMan cannot access the chain state, the sync progress, in-flight block requests
>
> I don't see how the connection opening logic needs access to any of those things.

I believe that we are not in sync regarding the distinction between (1) the logic for deciding whether to connect to a specific address and (2) the thread/process responsible for opening such a connection. The former requires access to that contextual information; its usage is behind the `extra_block_relay` and `try_ano
...
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463281056)
direct_conflicts and all_conflicts. Does that help?
🤔 furszy reviewed a pull request: "p2p: adaptive connections services flags"
(https://github.com/bitcoin/bitcoin/pull/28170#pullrequestreview-1838790146)
> Ok, fine. Then, just a comments nit, the recently added comments "Per BIP159, safety buffer" and "BIP159 connections safety window" better be removed? Because that is not "A safety buffer of 144 blocks to handle chain reorganizations"?

Sure @vasild. Updated. Thanks! [Small diff](https://github.com/bitcoin/bitcoin/compare/6c6348b936d303a3aaadc1bcede183e451f025d8..27f260aa6e04f82dad78e9a06d58927546143a27).
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463285858)
direct_conflicts -> the set of transactions that have at least one input conflicting with a proposed transaction.
all_conflicts -> Everything that would be evicted by the proposed transaction

I'll touch this up a bit but this is the nomenclature elsewhere
💬 hebasto commented on pull request "build: always set `-g -O2` in `CORE_CXXFLAGS`":
(https://github.com/bitcoin/bitcoin/pull/29205#issuecomment-1906078874)
> > While always overriding Autotools' defaults, are there any particular reasons not using -O3 instead of -O2?
>
> AFAIK `-O3` isn't safe.

How?

FWIW, `-O3` is used by default in CMake for "Release" builds.
📝 Sjors opened a pull request: "CKey: add Unserialize"
(https://github.com/bitcoin/bitcoin/pull/29295)
In #28983 I need to read and write two private keys to/from disk that are used by Stratum v2 peers to (optionally) authenticate us.

For the write part, I initially just put the key data into a `std::vector<unsigned char>` and then used a modified version of `WriteBinaryFile`. But @vasild pointed out in #29229 that:

> `CKey` stores sensitive data and takes care to wipe it from memory when freed. In #28983 `Read/WriteBinaryData()` is used in a way that defeats that - the sensitive data will
...
💬 Sjors commented on pull request "CKey: add Unserialize":
(https://github.com/bitcoin/bitcoin/pull/29295#issuecomment-1906103142)
Opened as draft because I suspect this can be done less verbosely.
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463314427)
I can't recall honestly, removed that line
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463314511)
ah hmm, I'm not sure that matters for correctness of test, but jacked up the last chunk's size just to make it clearer what we're testing
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463314570)
tried my own re-explanation. I agree as-is is confusing
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463314620)
tried my own explanation
💬 instagibbs commented on pull request "Mempool util: Add RBF diagram checks for single chunks against clusters of size 2":
(https://github.com/bitcoin/bitcoin/pull/29242#discussion_r1463314778)
fixed
💬 Sjors commented on pull request "Make (Read/Write)BinaryFile work with char vector, use AutoFile":
(https://github.com/bitcoin/bitcoin/pull/29229#issuecomment-1906105122)
I opened #29295 for `CKey`.

I no longer need this PR myself, but happy to continue it.