Dimitris Apostolou
31cb66902e
fix: Fix typos ( #773 )
2023-01-09 01:43:51 +01:00
David Kulman
05e9c79cc5
feat(net) Add TransactionsManager Metrics ( #769 )
...
* Added TransactionsManager Metrics
* Remove tracking of peers
* Add propagated_transactions
2023-01-08 18:38:07 +01:00
Gyuho Lee
5085ac7cfc
docs: fix typo "the" ( #767 )
...
Signed-off-by: Gyuho Lee <gyuho.lee@avalabs.org >
Signed-off-by: Gyuho Lee <gyuho.lee@avalabs.org >
2023-01-08 13:05:36 +01:00
Matthias Seitz
da59ead58d
fix(net): use mapped v4 when inserting records ( #761 )
2023-01-07 13:36:13 +01:00
Andrew Kirillov
2da828478c
feat(net): Bandwidth monitoring ( #707 )
...
* 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
2023-01-06 21:43:13 +01:00
Matthias Seitz
1d2e0526a8
fix(disc): convert mapped ipv6 address ( #754 )
2023-01-06 18:26:40 +02:00
Matthias Seitz
09bb2d9149
fix(disc): use remote addr for NodeRecord on ping ( #753 )
2023-01-06 17:48:55 +02:00
Matthias Seitz
f359992dc3
feat(disc): add another self entry check ( #748 )
2023-01-06 14:43:29 +02:00
Sanket Shanbhag
1b5bc5e1f7
Rotate peers when fetching ( #743 )
2023-01-06 12:21:42 +01:00
Matthias Seitz
a94560fc5d
fix(disc): use lookup target for distance ( #742 )
2023-01-06 09:41:09 +02:00
Bjerg
ade1ea4216
refactor: clean up StateFetcher::next_peer ( #738 )
...
* refactor: clean up `StateFetcher::next_peer`
The `&mut Peer` is unused, so we do not need to
return it.
* chore: idiomatic rust
2023-01-05 23:38:31 +01:00
Bjerg
ee8b0efed6
fix: apply correct reputation dmg on bad msg ( #739 )
2023-01-05 23:20:34 +01:00
Matthias Seitz
6cf5427af3
style(discv4): use event buffer ( #737 )
2023-01-05 17:50:09 +01:00
Matthias Seitz
f924880d5d
perf(disc): only initiate another auto lookup when previous finished ( #733 )
2023-01-05 17:46:18 +02:00
Matthias Seitz
56cc999c5e
fix(disc): mark node as queried before ping ( #731 )
2023-01-05 17:38:57 +02:00
Matthias Seitz
babf73612f
feat(net): add granular backoff durations ( #729 )
...
* feat(net): add granular backoff durations
* update backoff durations
2023-01-05 14:09:38 +02:00
Sanket Shanbhag
e4bd5b4fe9
feat(net): add NetworkMetrics ( #708 )
...
* Added NetworkMetrics
* update docs
* add more metrics and make naming consistent
* add active inbound and outbound connection metrics
2023-01-05 10:17:57 +01:00
Roman Krasiuk
28f67b371d
feat(download): dynamically adjust body request ( #718 )
...
* feat(download): dynamically adjust body request
* add tests
* Update crates/net/downloaders/src/bodies/concurrent.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* add comment
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2023-01-04 11:08:28 -08:00
Roman Krasiuk
8c413ad0a9
trace(download): failed requests ( #715 )
2023-01-04 19:55:59 +01:00
Matthias Seitz
5a58554596
test: add debug test for getting headers ( #713 )
2023-01-04 16:07:23 +01:00
Matthias Seitz
42f3245a11
feat(net): penalize peers that send same transactions ( #712 )
2023-01-04 15:56:40 +02:00
Matthias Seitz
5933014fba
test(net): more txpool testing support for network ( #711 )
2023-01-04 14:36:51 +02:00
Matthias Seitz
6f3eb42d32
feat(net): ignore transactions during sync ( #705 )
2023-01-04 13:06:12 +02:00
joshieDo
6407b5087e
chore: use B160, B256 and U256 coming from revm and ruint ( #676 )
...
* use B256, B160 and U256 from revm
* fix U256 from_str
* use U256::ZERO
* use temporary commit for revm and interpreter
* more U256::ZERO
* more changes for revm/ruint types
* clippy
* change revm and revm-interpreter repo
* remove H160 wrap
* minor cleanup
* remove unused
* fix MIN_PROTOCOL_BASE_FEE
2023-01-04 11:11:48 +02:00
Matthias Seitz
3a67809cb7
test: test ack encoding ( #699 )
2023-01-03 18:09:00 +02:00
Matthias Seitz
13f143d06d
feat(disc): add set_lookup_interval function ( #696 )
2023-01-03 16:53:52 +01:00
Matthias Seitz
db4f0befee
fix: bump request timeout ( #695 )
2023-01-03 16:12:05 +02:00
Aurélien
65bc3cb7b8
RPC Admin namespace implementation ( #685 )
...
* 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
2023-01-03 14:02:05 +01:00
Matthias Seitz
debf21d34e
feat: add SyncState traits ( #693 )
...
* feat: add SyncState traits
* docs: clarify execution stage
2023-01-03 14:56:50 +02:00
Roman Krasiuk
a7f8d4fc39
feat(download): body downloader tracing ( #691 )
...
* feat(download): body downloader tracing
* rm unused import
* add request & response len
2023-01-03 13:28:56 +02:00
LambdaClass
346d50ebf4
feat: test trusted peers functionality ( #687 )
...
* Add test for trusted_peer prioritization
* Add test for connect_trusted_nodes_only flag
2023-01-02 18:36:50 +01:00
Aurélien
e73b0019fa
Add admin_(add|remove)TrustedPeer on admin rpc ( #678 )
2023-01-02 12:15:50 +01:00
Aurélien
05cb56788d
Change terminal_block_number type to U64 ( #677 )
2023-01-02 02:47:25 -08:00
Matthias Seitz
dafc01dde7
feat(net): add eth66 to default caps ( #673 )
2023-01-01 18:32:35 +02:00
LambdaClass
efac887e30
chore: add serde feature to network crate ( #653 )
...
* Add serde feature and support for PeersConfig
* Add Duration fields and Weights
* Add serde for ConnectionInfo field
2023-01-01 18:27:55 +02:00
Matthias Seitz
ed55c2bf2b
docs(net): update best_unconnected docs ( #670 )
2023-01-01 17:16:30 +02:00
LambdaClass
1f6a9436ac
feat(net): enforce trusted_nodes_only setting ( #660 )
...
* Add PeerKind and enforce trusted_only setting
* Don't remove trusted peer on graceful close
* Don't remove trusted nodes on PeerCommand::Remove
* Rename PeerKind::NonTrusted to Basic
* Move PeerKind::is_trusted to Peer impl
* Add trusted peer prioritization
2023-01-01 12:14:10 +01:00
Matthias Seitz
4efb7b92b8
fix(discv4): ignore self-entry on neighbours response ( #664 )
2022-12-30 06:09:22 -08:00
Roman Krasiuk
a7d8059357
test(engine): consensus engine tests ( #648 )
2022-12-30 13:17:27 +02:00
GeemoCandama
f5ae970e63
feat(cli): add --disable-discovery ( #597 )
...
* redo add disable_discovery cli flag
* incorporate option into discovery test
* smol touch up
* rustmft
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-30 10:56:59 +01:00
LambdaClass
75ebfcf0d6
chore: add RLP encoding support for IpAddr ( #659 )
...
* Add rlp encoding support for IpAddr
* Lock support behind std feature
* Replace Octets with IpAddr
* Derive Rlp traits for NodeEndpoint
* Derive Rlp traits for NodeRecord
2022-12-29 22:27:51 +01:00
Matthias Seitz
bec1937f63
chore: rm rpc type imports ( #645 )
2022-12-29 17:08:41 +01:00
Matthias Seitz
3ab6c278e8
fix(net): improve error propagation ( #620 )
...
* fix(net): improve error propagation
* refactor: unify on closed session
* add noop helpers
* add noop helpers
* test setup
* test: add dropped connection test
* rename mock --> test-utils
2022-12-29 16:05:56 +01:00
Ayush
de6630a121
feat(network): get peer info ( #603 )
...
* Create struct PeerInfo
* Add GetPeerInfo command
* Minor changes
* Use oneshot::sender
* Add GetPeerInfoById
* Use async/await
* Add client_id to establish connection
* Add method calls
* Add test_get_peer
* Add test_get_peer_by_id
* fmt changes
* clippy changes
* chore: rustfmt
* smol touch ups
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-29 14:20:17 +01:00
Roman Krasiuk
565a0aa90b
feat(engine): new payload execution ( #631 )
...
* feat(engine): new payload execution
* address PR comments
* rm unused dev deps
* add comment about lru
* remove par_iter
2022-12-29 02:36:56 -08:00
Tomás
76e76bb651
feat: add trusted nodes configuration ( #569 )
...
* Add preferred nodes to config
* Add preferred nodes on boot
* Add flag in config for trusted only mode
* Add preferred nodes configuration to config
* Fix comment
* Add preferred nodes to config file
* Rename preferred_nodes to trusted_nodes
* Change preferred to trusted
I renamed preferred_nodes to trusted_nodes in various places.
Seems I missed quite a bit of them.
* Pull trusted_only from config
* Rename DiscoveryConfig to PeersConfig
* Fix last commit
Now actually renamed DiscoveryConfig
* Rename trusted_only to connect_trusted_nodes_only
* Add helper function
* Use HashSet for boot_nodes and trusted_nodes
* Change trusted nodes functions in ConfigBuilder
* Move trusted peers from discv4 to network config
* Add trusted nodes to peers on Manager creation
* Use NodeRecord in trusted_nodes config
* Fix comment
* Move trusted_nodes config to PeersConfig
* Add trusted nodes directly to peers
* Move network_config to Config impl
* Move start_network to NetworkConfig impl
2022-12-28 21:48:11 +01:00
Matthias Seitz
d9d0ba14c4
docs: add outgoing request diagram ( #630 )
2022-12-28 20:36:53 +01:00
Matthias Seitz
525f28a67d
feat(net): integrate external public ip auto discovery ( #632 )
...
* feat(net): integrate external public ip auto discovery
* Update crates/net/discv4/src/config.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* rename var
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-28 16:14:07 +01:00
Matthias Seitz
c3432bc284
feat(rpc): add rpc builder support ( #635 )
2022-12-28 15:55:30 +02:00
Matthias Seitz
1ba81191f6
perf(net): backoff on IO error ( #633 )
2022-12-28 12:43:02 +01:00