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
Roman Krasiuk
cb6ddfcc43
feat(sync): total difficulty stage ( #665 )
...
* feat(sync): total difficulty stage
* linter
* rm commented log
* patch current td in headers tests
2023-01-01 19:03:25 +02: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
Sanket Shanbhag
24d5612027
rename StateProvider structs ( #663 )
2022-12-30 13:58:44 +02: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
6efd50b25f
bug(execution stage): Fix ommers error ( #661 )
...
* Start loosing ommers checks
* Replace ommers database integrity error in execution stage for unwrap_or_else so that node does not stop when block has no ommers
* Replace ommers database integrity error in execution stage for unwrap_or_else so that node does not stop when block has no ommers
2022-12-29 22:31:08 +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
rakita
c62574b2fd
bug(consensus): Remove mixHash zero check after merge ( #652 )
...
* bug(consensus): Remove mixHash zero check after merge
* chore(clippy): make clippy happy
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-29 16:14:54 +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
Sanket Shanbhag
96735ecfdc
fix: advance buffer after enr decode ( #647 )
...
* advance buffer after enr decode
* Update test
2022-12-29 14:50:01 +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
Matthias Seitz
15e6a359b4
fix: enable missing feature ( #644 )
2022-12-29 11:07:49 +01:00
Sanket Shanbhag
28669d4aa8
fix(sync): return control from HeaderStage back to pipeline ( #609 )
...
* Headerstage now gives control back to pipeline after commit_threshold blocks have been synced
* Updated tests
* Only take required number of headers from the stream
* Simplified stage complete check
2022-12-29 00:57:49 -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
Andrew Kirillov
d4d8a8c882
Moves code walkthrough book chapters to docs ( #629 )
...
* 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
2022-12-28 10:24:39 +01:00
Andrew Kirillov
a51fa4fd63
docs(book): start book chapter for network crate ( #445 )
...
* 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
2022-12-27 14:53:15 -08:00
Tomás
dcd3923d19
Add serde support for NodeRecord primitive type ( #617 )
...
* Add serde support to NodeRecord
* Move NodeRecord to primitives
along with NodeKey and Octets
* Reexport NodeRecord from discv4
* Move NodeKey and kad_key back to discv4::node
Also, move NodeRecord::key functionality to a helper function: discv4::node::record_key.
This avoids the discv5 dependency in the primitives crate.
* Fix NodeRecord (de)serializing
The default derive macros work with a dictionary like display.
Changed that to serde_with macros, that use Display and FromStr traits.
* Add some tests for NodeRecord (de)serializing
* Hide NodeKey struct
* Move Octets after NodeRecord
* Replace record_key with From trait
* Fix clippy error
unnecessary into()
2022-12-27 18:03:54 +01:00
Mariano A. Nicolini
c2b19cecef
feat: add txpool metrics ( #584 )
...
* feat(metrics): `Metrics` derive macro
* rename metrics to metrics-derive
* use fully qualified fmt path
* metric vec with capacity
* favor metrics over simple scope attr, simplify code
* pull metric description from doc comment
* rm debug log
* add more docs and sample usage
* link to metrics macros
* add tests for metrics derive macro
* clippy
* Fix doc of headers_unexpected_errors field of HeaderMetrics
* Add tx pool metrics struct and metrics updates in code
* Format file
* Update metrics doc
* Add some comments
* Format file
* Refactor metrics describers for consistency
* Format files
* Fix broken import
* Apply metrics macro to TxPoolMetrics
* Remove unused imports
* Remove unused commented code
* Remove files
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2022-12-27 16:44:41 +01:00
Matthias Seitz
1c3d704244
docs: fix indentation ( #626 )
2022-12-27 06:43:26 -08:00
Roman Krasiuk
5bb14ecb7c
fix(metrics): metrics derive separator ( #625 )
...
* fix(metrics): metrics derive separator
* fix existing metrics
* rm log
* static regex
2022-12-27 03:16:41 -08:00
Matthias Seitz
a2c1cdb399
refactor(net): deduplicate error variants ( #619 )
2022-12-26 23:29:26 +01:00
Roman Krasiuk
663efa8d2a
feat(metrics): Metrics derive macro ( #592 )
...
* feat(metrics): `Metrics` derive macro
* rename metrics to metrics-derive
* use fully qualified fmt path
* metric vec with capacity
* favor metrics over simple scope attr, simplify code
* pull metric description from doc comment
* rm debug log
* add more docs and sample usage
* link to metrics macros
* add tests for metrics derive macro
* clippy
* simplify path comparison
* cleanup
* remove unused dep
* rename stage metrics
2022-12-26 14:27:24 -08:00
rakita
d2b4081849
feat: Enable ExecutionStage ( #622 )
2022-12-27 00:09:04 +02:00
rakita
bfe2fd6221
ci: add eth chain test. Set prevrandao after merge ( #621 )
...
* Small changes
* feat: Add eth chain test to ci. Set prevrandao after merge
* Update .github/workflows/ci.yml
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* move env
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-12-26 22:55:46 +01:00
Matthias Seitz
410a1f9cfe
perf: allocate responses capacity ( #618 )
2022-12-26 21:38:00 +02:00
rakita
f21a4020b1
feat(execution): Add ommers reward ( #611 )
...
* feat(execution): Add ommers reward
* Refactor and add comments
2022-12-26 15:44:51 +01:00
Matthias Seitz
ebd686a407
refactor(net): rename and restructure wire error types ( #614 )
2022-12-26 16:33:59 +02:00
Matthias Seitz
8779000460
test(net): add test for dropped pending no response ( #613 )
2022-12-26 15:51:14 +02:00
Matthias Seitz
f1c1fb85ff
fix(net): add no response to backoff check ( #610 )
2022-12-26 14:00:01 +02:00
Namra Patel
bb10305d09
Fix typo and rename remaining ExecutorDb to StateProvider ( #608 )
...
* Fix typo
* ExecuterDb -> StateProvider
2022-12-26 13:41:29 +02:00
Matthias Seitz
3a07eb930f
feat(net): add nat external ip crate ( #605 )
2022-12-25 18:22:31 +02:00
Sanket Shanbhag
73e12341c4
feat(net): Make PeerManager emit peerevents for admin rpc ( #602 )
...
* Make PeerManager emit peerevents for admin rpc
* Fix tests to include new peer events
2022-12-25 10:00:10 +01:00
rakita
19a618e3a4
fix(db): Dont compress DupSort SubKey ( #594 )
...
* bug(db): Dont compress DupSort SubKey
* unwrap or default config, Added notes
* fmt empty lines
2022-12-25 01:13:03 +01:00
Matthias Seitz
5affa67805
refactor(net): unify closed incoming session handling ( #600 )
2022-12-24 12:38:21 +01:00
Sanket Shanbhag
43008b7b07
feat: Add PeerEvent to NetworkEvent enum ( #574 )
...
* Add peerAdded and peerRemoved events to NetworkEvent enum
* Remove unnecessary todo macros
2022-12-24 10:25:09 +01:00
Matthias Seitz
7c80dde0ec
fix(net): check for handshake disconnect ( #596 )
2022-12-24 00:58:43 +01:00
Matthias Seitz
4e677b5993
refactor(net): unify dropped connection handling ( #595 )
2022-12-23 21:46:44 +01:00
rakita
284391c181
test(execution): chain test state check, execution bug fixes/upgrades ( #472 )
...
* temp: header stage backoff stand-in
* feat(execution): Check chain post state, fix StateProviderLatest and evm return
* Disable receipt merkle tree check
* update and merge
* Fix storage double values in dup table
* fmt
* Update bin/reth/src/test_eth_chain/runner.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Enable receipt root check after byzantium
* Receipt inner rlp without header for proof root
* some cleanup nits
* nit
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-23 18:42:19 +01:00