Matthias Seitz
fdf2792833
fix(discv4): track whether endpoint is proven ( #1984 )
2023-03-26 19:07:59 +02:00
Dan Cline
ee226fc889
feat: use dnsdisc peers for discv4 bootstrap ( #1983 )
2023-03-26 12:42:08 +02:00
François Garillot
075544e889
refactor: various cleanups ( #1833 )
...
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2023-03-18 14:13:09 +01:00
Dan Cline
7ac06cd29f
feat: use chain specific bootnodes ( #1826 )
2023-03-17 19:28:00 -04:00
his-dudenesss
57894f7b98
Issue 1770 move rlp impl for enr to discv4 crate ( #1804 )
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2023-03-16 16:59:29 -07:00
Matthias Seitz
15d79cedad
chore(deps): upgrade secp256k1+enr ( #1715 )
2023-03-15 11:15:55 +01:00
Matthias Seitz
e5a0fc6550
chore(clippy): make clippy happy ( #1710 )
2023-03-11 16:27:24 +02:00
Rafael Matias
e494011819
chore(discv4): remove deprecated EF bootnodes ( #1680 )
...
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2023-03-09 02:08:05 -08:00
Matthias Seitz
9bdbbb2b9e
fix(disc): trigger bootstrap if table empty ( #1621 )
2023-03-03 15:07:19 -05:00
Matthias Seitz
dc57fbad07
fix(disc): allow concurrent lookups ( #1539 )
2023-02-24 13:21:05 +01:00
Matthias Seitz
b21f24c7cc
test(disc): fix flaky ping test ( #1443 )
2023-02-18 11:27:36 +01:00
Matthias Seitz
a0410e46b7
fix(disc): only start pinging new node if insert succesful ( #1435 )
2023-02-17 17:46:05 +01:00
Matthias Seitz
bacb3c59b2
fix(disc): ensure timestamp is within bounds of UNIX timestamp ( #1433 )
2023-02-17 16:26:28 +01:00
Matthias Seitz
94f759761a
fix(disc): enforce expiration timestamps by default ( #1427 )
2023-02-17 12:04:22 +01:00
Matthias Seitz
ae2441a9f9
perf(disc): evict after processing incoming packets ( #1400 )
2023-02-16 21:45:32 +01:00
Matthias Seitz
6005ecb89a
perf(net): emit all discovred nodes ( #1414 )
2023-02-16 21:07:27 +01:00
Roman Krasiuk
f979c6c1fb
chore: reexport bytes & bump version to 1.4 ( #1395 )
2023-02-16 10:33:28 -08:00
Matthias Seitz
b0e79fd4a5
perf(disc): only remove node from table if its bucket is half full ( #1412 )
2023-02-16 10:16:53 -08:00
Matthias Seitz
8a214d6f04
perf(disc): allow more FindNode failures ( #1411 )
2023-02-16 18:08:50 +01:00
Matthias Seitz
39949fdd08
fix(disc): only answer FindNode if endpoint proof exists ( #1404 )
...
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2023-02-16 17:42:11 +01:00
Matthias Seitz
804d8bf1da
fix(disc): check insert result on neighbours response ( #1401 )
2023-02-16 14:03:19 +01:00
Matthias Seitz
7842036c93
fix(disc): add missing expiration checks on messages ( #1375 )
2023-02-15 11:49:41 -05:00
Matthias Seitz
007409601f
fix(disc): only initiate endpoint proof if insert was succesful ( #1377 )
2023-02-15 11:48:20 -05:00
Matthias Seitz
73ffc425a3
chore(disc): add traces when node record added ( #1303 )
2023-02-12 19:03:03 +01:00
Matthias Seitz
d40d9e4d15
test(disc): add wrong to test ( #1286 )
2023-02-11 13:09:48 -08:00
Matthias Seitz
d82553cd66
fix(disc): initiate endpoint proof on ping ( #1258 )
2023-02-09 23:04:33 +01:00
Tomás
1d1d90bd19
feat: optional serde features ( #1214 )
...
Co-authored-by: lambdaclass-user <github@lambdaclass.com >
2023-02-07 15:52:32 -08:00
Tomás
27b07f57f0
fix: add serde feature to secp256k1 dep in discv4 ( #1205 )
...
Co-authored-by: lambdaclass-user <github@lambdaclass.com >
2023-02-07 15:19:53 +01:00
Georgios Konstantopoulos
1f64d8e9d7
refactor: pull reth/common/rlp up to reth/rlp ( #1146 )
2023-02-02 13:54:13 -08:00
Bjerg
87306f2892
ci: ensure docs build ( #1073 )
...
Co-authored-by: xqft <estefano.bargas@fing.edu.uy >
Co-authored-by: lambdaclass-user <github@lambdaclass.com >
2023-01-27 18:49:22 +01:00
Aurélien
115e623ae6
Ability to (de)serialize NetworkConfigBuilder ( #897 )
2023-01-18 11:17:43 +01:00
Georgios Konstantopoulos
e9792c1b46
fix: compilation errors due to api breakages
...
follow up from https://github.com/paradigmxyz/reth/pull/888 merge conflict fix failure
2023-01-17 18:19:00 -08:00
Matthias Seitz
bcbc3dacc7
test: rm multi_thread flavor for tests ( #865 )
2023-01-13 13:50:05 +01:00
David Kulman
49132a8d1a
feat: Add neighbours_max_ipv4 test ( #836 )
2023-01-12 17:39:23 +01:00
Bjerg
20ee1bb1c9
refactor: move cli trace helpers to reth-tracing ( #820 )
2023-01-11 10:20:37 -08:00
Matthias Seitz
da59ead58d
fix(net): use mapped v4 when inserting records ( #761 )
2023-01-07 13:36: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
Matthias Seitz
a94560fc5d
fix(disc): use lookup target for distance ( #742 )
2023-01-06 09:41:09 +02: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
13f143d06d
feat(disc): add set_lookup_interval function ( #696 )
2023-01-03 16:53:52 +01:00
Matthias Seitz
4efb7b92b8
fix(discv4): ignore self-entry on neighbours response ( #664 )
2022-12-30 06:09:22 -08: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
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
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
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
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