[WIP] libbitcoin_net #30350

pull Sjors wants to merge 13 commits into bitcoin:master from Sjors:2024/07/libbitcoin-net changing 106 files +2257 −2314
  1. Sjors commented at 3:22 pm on June 27, 2024: member
  2. build: add libbitcoin_net, move connection_types.h
    This commit introduces libbitcoin_net. A single header connection_types.h and its implementation are moved there to ensure all scaffolding is in place.
    e6c79c8ea8
  3. Move CNetMessage and CSerializedNetMsg to Net 79d02f8f81
  4. Move NodeID to new net/util.h
    The typedef int64_t NodeId is used in several places which generally have no need for anything else in net.h.
    
    Specifically the introduction of net/util.h prevents a circular dependency in the next commit.
    23226cb3a3
  5. Move net.h constants to net/constants.h
    Moving MAX_PROTOCOL_MESSAGE_LENGTH out of net.h is needed to prevent a circular dependency in the upcoming commit that moves Transport to Net.
    49414c83f8
  6. Move Transport to Net and split files
    This commit also adds seperate header and implementation files
    for TransportV1 and TransportV2.
    890b65e68a
  7. Move bip324.{h,cpp} to Net a1d961d5e5
  8. refactor: pass network magic bytes to Transport()
    This removes the Transport dependency on chainparams.h (libbitcoin_common).
    b13db2a640
  9. Drop unused include from walletdb.cpp
    libbitcoin_wallet has no dependency on libbitcoin_net.
    
    Drop the unused include so the next commit can move
    protocol.h to libbitcoin_net without adding such a
    dependency.
    b2922c8ef2
  10. Move protocol.h to Net 2872faac4b
  11. Move key.h from Common to Util
    GenerateRandomKey() is used by V2Transport to generate the ephemeral keys used in the handshake.
    15210320e6
  12. FIXME: allow net dep on consensus 760fcca86d
  13. ci: forks can opt-out of CI branch push (Cirrus only) 22574c42b7
  14. ci: test-each-commit merge base optional
    The ci "test-each-commit" job fetches the PR branch being tested with a depth of (# of commits in PR + 2), and then tries to run tests on commits after the most recent merge commit.
    
    When a PR is opened against a bitcoin core branch, a merge commit is always guaranteed to exist within the fetch depth, because bitcoin core branches always point at merge commits.
    
    However, in fork repositories, pull requests can be opened based on other branches that don't contain recent merge commits, and this will currently cause git rev-list to fail with fatal: bad revision '^^@'.
    
    Work around this problem by not requiring a recent merge commit, and just testing on all fetched commits if a merge commit can't be found.
    
    Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
    b64fc46183
  15. DrahtBot commented at 3:22 pm on June 27, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  16. Sjors closed this on Jun 27, 2024

  17. Sjors commented at 3:22 pm on June 27, 2024: member
    Sorry, was trying to open this against my own fork.


Sjors DrahtBot


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-10-18 07:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me