* WIP for draft PR
* added basic test
* using BandwidthMeterInner type & added TcpStream test
* formatted
* formatted w/ +nightly
* using & for and
* formatted
* added default impl for BandwidthMeter
* using _bandwidth_meter bc unused
* removed redundant clone
* addressed nits, renamed file
* addressed nits, renamed file
* AdminApi first draft
* Implement add_trusted_peer and remove_trusted_peer
* Fix tests
* Refactoring NetworkHandle peer related methods
* Refactoring add_discovered_node in PeersManager
* Change record type from String to NodeRecord
* Adding NetworkHandleMessage::RemovePeer command
* replaced template blocks with code blocks in stages chapter
* replaced template blocks with code blocks in network chapter
* moved book sections to docs
* fix indentation in recover_signer codeblock
* remove unnecessary TODO comment in network.md
* WIP FOR DRAFT PR
* WIP draft, walking through usage in pipeline
* diving deeper into instantiation of NetworkHandle & FetchClient
* WIP network management task & eth requests task done (ish)
* address pr comments: networkmanager as standalone task, networkconfig as main entrypoint for setup
* complete draft of the crate docs
* restructured, starts w/ expl of
* added more snippets/anchors
* using ignore flag on code blocks, brief explanation of struct
* typos addressed
* refactor(net): use shared objects on a per peer basis
* feat(net): send full transactions to fraction of all peers
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat(net): impl active stream
* rename fields
* work on active
* feat(net): add disconnect function
* more work on active session
* feat(net): add broadcast message variants
* feat: impl session future
* misc: refactor
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat: add missing message handling
* refactor: new block message handling
* feat: add events and commands for transaction handling
* more work in transactions
* chore: silence warnings
* Switch stream type of ActiveSession to EthStream
* Start `StatusBuilder` for initializing the `Status` message required
for the handshake
* Add `Hardfork` for `Status` default forkid
* Add `MAINNET_GENESIS` constant
* finish `StatusBuilder`
* initialize eth streams in session
* add status, hello, and fork filter to session manager
* fix status builder example
* add status and hello to network config
* will probably remove
* removing status and hello from networkconfig
* move forkid to primitives
* change imports for forkid
* add hardfork to primitives
* remove hardfork and forkid from eth-wire
* fix remaining eth-wire forkid references
* put mainnet genesis in constants, remove NodeId
* replace NodeId with PeerId
* the only NodeId remaining is inherited from enr
* PeerId still needs to be documented
* also run cargo fmt
* replace loop with iter().any()
* ignore missing docs for hardforks
* use correct PeerId for Discv4::bind example test
* document PeerId as secp256k1 public key
* cargo fmt
* temporarily allow too_many_arguments
* the authenticate and start_pending_incoming_session methods have many
arguments, we can reconsider the lint or fix the methods at a later
point