Bitcoin Core Github
43 subscribers
123K links
Download Telegram
💬 mzumsande commented on pull request "refactor: move m_is_inbound out of CNodeState":
(https://github.com/bitcoin/bitcoin/pull/30233#discussion_r1633625118)
Yes, but we could attempt to retrieve the `CNode` by `NodeId` from `m_nodes`, as the current code does it for `Peer` from `m_peer_map`.
I think the lookup would be `O(N)` for iterating through the vector `m_nodes` instead of `O(log N)` for the `std::map`, so maybe that is the reason for the redundancy?
💬 sr-gi commented on pull request "Fix tiebreak when loading blocks from disk (and add tests for comparing chain ties)":
(https://github.com/bitcoin/bitcoin/pull/29640#discussion_r1633646409)
Umm, I really cannot see why I wanted to do this in two steps. It really doesn't seem necessary.

I've also re-arranged the code a bit to minimize the diff
💬 sr-gi commented on pull request "Fix tiebreak when loading blocks from disk (and add tests for comparing chain ties)":
(https://github.com/bitcoin/bitcoin/pull/29640#discussion_r1633656796)
Updated to:

(should only happen with blocks loaded from disk, as those share the same nSequenceId: 0 for blocks on the best chain, 1 for all others)
📝 brunoerg opened a pull request: "test: add coverage for errors for `combinerawtransaction`"
(https://github.com/bitcoin/bitcoin/pull/30264)
This PR adds test coverage for the following errors for the `combinerawtransaction` RPC:

* Tx decode failed
* Missing transactions
* Input not found or already spent

For reference: https://maflcko.github.io/b-c-cov/total.coverage/src/rpc/rawtransaction.cpp.gcov.html
💬 sr-gi commented on pull request "refactor: move m_is_inbound out of CNodeState":
(https://github.com/bitcoin/bitcoin/pull/30233#discussion_r1633665883)
Yeah, that'd make sense. I don't think increasing the lookup complexity for this, even if we are talking about a vector of hundreds of nodes at most, is worth not keeping a boolean in `Peer`
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633714824)
taken with only light modifications
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633714910)
Directly checked cluster size instead.
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633714959)
This should only be called when not `test_accept`, right?
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633714993)
removed the static cast for `m_conflicting_fees` since that's the same type as `m_total_modified_fees`, but left the other static casts in place since explicit is better than implicit
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633715042)
yep, rebased + removed
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633715153)
great, added a little commentary on top and repeated this for 2nd package
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633715573)
sure, taken
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633715847)
adapted more of the test to use this value
💬 instagibbs commented on pull request "Cluster size 2 package rbf":
(https://github.com/bitcoin/bitcoin/pull/28984#discussion_r1633715933)
taken
💬 mzumsande commented on pull request "validation: Make ReplayBlocks interruptible":
(https://github.com/bitcoin/bitcoin/pull/30155#discussion_r1633721111)
> I would definitely be curious to see the other approach. Not just because it might be better at detecting inconsistent states like Luke is suggesting, but also because it seems like it would make the code more clear.

See https://github.com/mzumsande/bitcoin/commit/db8232d47068bba9ae1bb8135ef456be731e5ca5 - because of the inheritance the bool `interrupted_replay` needed to be added to quite a few spots, which I didn't love.

> I think it would be pretty hard to look at the code after this
...
💬 maflcko commented on pull request "test: add coverage for errors for `combinerawtransaction`":
(https://github.com/bitcoin/bitcoin/pull/30264#issuecomment-2159123696)
lgtm ACK ab98e6fd03970d6b5a593674c84e762a47b90ea6
👍 ryanofsky approved a pull request: "Support self-hosted Cirrus workers on forks"
(https://github.com/bitcoin/bitcoin/pull/29274#pullrequestreview-2108566302)
Code review ACK 65abc0b5b54edb06cc3bf584691beddbeb802ddc with caveat that I don't know enough about cirrus and github configuration to be very confident in the changes. But they do make sense and appear to do what's described.
💬 ryanofsky commented on pull request "Support self-hosted Cirrus workers on forks":
(https://github.com/bitcoin/bitcoin/pull/29274#discussion_r1633712140)
In commit "ci: test-each-commit merge base optional" (65abc0b5b54edb06cc3bf584691beddbeb802ddc)

Maybe add comment like "MERGE_BASE can be empty due to limited fetch-depth". Otherwise I don't think it's clear why git wouldn't be able to find the merge commit.
💬 ryanofsky commented on pull request "Support self-hosted Cirrus workers on forks":
(https://github.com/bitcoin/bitcoin/pull/29274#discussion_r1633739503)
In commit "ci: skip Github CI on branch pushes for forks" (1a06d80e7bb113b9588efc113262bdd20b60efd4)

I didn't really understand this comment until I read the PR description. Might be clearer as "Disable CI on branch pushes to forks. It will still run for pull requests. This prevents CI from running twice for typical pull request workflows."

Also, I'm not really sure how this change relates to the rest of the PR. It seems like it could be unrelated?
💬 ryanofsky commented on pull request "Support self-hosted Cirrus workers on forks":
(https://github.com/bitcoin/bitcoin/pull/29274#discussion_r1633717315)
In commit "ci: forks can opt-out of CI branch push" (8fbf7449af130126890932986a4d9c0446c2f9c8)

I don't really understand this comment. Maybe it could say why the jobs should not be marked as skipped, or maybe say how they should be shown instead of how they should not be shown.