Matthias Seitz
f2707d32b5
fix(net): kick useless peers ( #451 )
2022-12-15 10:04:22 +02:00
mempirate
c23c65fc3b
feat(net): draft for sending status updates through NetworkHandle ( #436 )
...
* feat(net): draft for sending status updates through `NetworkHandle`
* feat(net): draft for sending status updates through `NetworkHandle`
* fix(net): remove unused import
* feat(net): implement getters for status update sender half
* docs(net): document methods
* chore: cargo fmt
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* fix(net): fix headers stage testing
* fix: derive default
* fix: remove StatusUpdate struct
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-15 08:59:28 +01:00
joshieDo
7b6bf0820e
fix(cli): remove usage of StageDB on DbTool ( #448 )
...
* use view and update instead of StageDB
* change DbTool docs
* clippy
2022-12-15 08:33:49 +01:00
Matthias Seitz
43f6bb9127
feat(net): integrate discovery banlist ( #442 )
...
* feat(net): integrate discovery banlist
* fix typos
2022-12-14 19:47:11 +02:00
Bjerg
ae2fc494c8
test: fix header dl error test ( #441 )
2022-12-14 17:32:26 +02:00
dependabot[bot]
c2719ec27e
chore(deps): bump secp256k1 from 0.24.1 to 0.24.2 ( #440 )
...
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1 ) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases )
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.24.2/CHANGELOG.md )
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.1...secp256k1-0.24.2 )
---
updated-dependencies:
- dependency-name: secp256k1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:40:16 +02:00
Roman Krasiuk
4430089b71
fix(download): header download stream ( #438 )
...
* fix(downloader): rewrite header stream
* rm unused import
* add comment
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-14 16:38:10 +02:00
Matthias Seitz
35a41a29f9
style: unify slice access and bytes ( #437 )
2022-12-14 16:26:08 +02:00
Georgios Konstantopoulos
d5d876b286
fix(headers-stage): do not exit stage on downloader error ( #439 )
...
* fix: return ctrl to pipeline on header dl error
* chore: adjust log levels
* ecies: improve tag check error granularity
* chore: instrument read_ack/read_auth
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-14 16:25:54 +02:00
Georgios Konstantopoulos
28121a4504
chore: cargo fmt
2022-12-14 15:51:15 +02:00
Georgios Konstantopoulos
83c89a85e9
Add additional logs for P2P debugging ( #434 )
...
* feat: make logs on network manager more granular
* feat: log error on session disconnect
* temp: manual peer
* temp: manual peer
* feat(linear-dl): make BadResponse error more descriptive
* feat(linear-dl): log retries on future
* chore: add target
* chore: add target
* chore: remove unused var
* chore: remove manual peer override
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-14 13:53:49 +02:00
Matthias Seitz
9946f232a7
chore(net): improve session error traces ( #435 )
2022-12-14 13:48:28 +02:00
Bjerg
601bdc5022
feat: wire components together in reth node ( #416 )
...
* feat: naively wire up components
* chore: clippy lints
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-14 12:51:56 +02:00
Matthias Seitz
12e7f0acbc
feat(net): make Status and Hello configurable ( #431 )
...
* feat(net): make Status and Hello configurable
* set port
2022-12-14 11:39:09 +01:00
Roman Krasiuk
ac5efc0749
fix(download): stream loop ( #433 )
2022-12-14 11:39:02 +01:00
kevaundray
ad191efe88
fix: typo ( #432 )
2022-12-14 10:46:24 +01:00
Matthias Seitz
500f98c9a3
fix(net): use adjust correct counters ( #429 )
2022-12-14 10:55:26 +02:00
0xKitsune
df9d14127d
Reth Book - Stages framework/draft ( #360 )
...
* Added framework and start to draft for stages, stopping here to get feedback on approach before pushing forward
* Update README.md
Fixing some wording / grammar.
* Fixing grammar/wording.
* Added note about non-exhaustive stages list, fixed grammar, fixed State exectuion function name, updated language to reflect that the stream yields a SealedHeader and added language to describe that the initial header validation is only a basic validation.
* updated stages chapter, added bodies, senders, execution, next chapter prelude
* typo
* Added line numbers to code snippets for the stages chapter of the reth book
* address reverse header download + other nits
* add note about book hosting
* tweaked wording, formatting
* Address typo "staring"
* Address typo "HeadderDownloader"
* consolidated book.toml
* updating snippets in stages chapter to ignore errors
* template & removed empty fields from book.toml
* addressed build issues, added templating for source code
* only deploy on push to main
* using single quotes in github action if expression
Co-authored-by: Andrew Kirillov <andrew@paradigm.xyz >
Co-authored-by: Andrew Kirillov <20803092+akirillo@users.noreply.github.com >
2022-12-14 10:30:45 +02:00
Matthias Seitz
cbbdac2701
chore(disc): log channel errors ( #428 )
2022-12-14 09:06:16 +01:00
Matthias Seitz
10d960c5d6
refactor(disc): use discv4 as log target ( #423 )
2022-12-13 21:56:20 +01:00
Roman Krasiuk
c16b2df5b4
fix(sync): test db size map ( #422 )
2022-12-13 21:53:28 +01:00
Matthias Seitz
24bc633bbd
feat(net): add NetworkBuilder type ( #421 )
2022-12-13 21:38:12 +01:00
Dan Cline
2537f14567
feat(network): add geth connection test ( #352 )
...
* wip: geth connection test
* set port until disabling discovery sets port
* ignore test until it is complete
* check that first geth event is SessionEstablished
* fix endpoint string for the geth instance
* force an incoming connection
* we should also test establishing a session on an outgoing connections
* use NetworkEventStream helper in connect test
* create outgoing test
* make geth tests use different ports and datadirs
* update geth options
* cargo fmt
* s/geth_socket/reth_socket
* cargo fmt
* fix disc port collisions and re-add incoming test
* should add test utilities for getting unused disc/p2p ports
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-13 14:29:44 -05:00
Matthias Seitz
02be8121e0
fix(disc): also emit discovered node when buckets are full ( #414 )
2022-12-13 19:53:53 +02:00
Roman Krasiuk
2ace52a8dd
feat(sync): add tx hash number mapping ( #417 )
2022-12-13 19:53:16 +02:00
GalaIO
d7f3581e51
fix(db): upgrade to libmdbx 0.12.2; ( #377 )
2022-12-13 19:52:14 +02:00
rakita
0fa7d5c29b
bug: Correct nonce validation ( #409 )
...
* feat: Correct nonce validation
* clenup
* Update crates/consensus/src/verification.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-13 19:28:05 +02:00
Matthias Seitz
8e5e7ff5b6
fix(net): improve dropped connection handling ( #412 )
2022-12-13 19:26:48 +02:00
Matthias Seitz
95d99c4317
chore(disc): update discv5 and tracing ( #408 )
...
* chore(disc): update discv5 and tracing
* ignore
2022-12-13 19:12:59 +02:00
Roman Krasiuk
c6d38f0f6a
fix(sync): commit headers upon threshold ( #406 )
2022-12-13 19:11:05 +02:00
Dan Cline
1e38ffa5ad
feat(eth-wire): fuzzing wire encoding roundtrip ( #350 )
...
* move hello to separate file
* cargo fmt
* wip: actual fuzz test
* should probably also take advantage of test-fuzz to generate
benchmarks like impl_fuzzer_with_input
* impl generic roundtrip method
* generate test with macro
* change testname to fuzzname
* add reth-eth-wire to fuzz in ci
* add other message types to fuzz
* remove unused_crate_dependencies
* was causing test issues, may want to revisit whether or not we can
include this warning and still use test_fuzz
* more afl debugging ci
* use more explicit imports in fuzz_rlp
* impl Default for types and fuzz ping/pong
* Default is necessary for test-fuzz to auto generate a corpus for each
type we are fuzz testing
* enable AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES
* not sure if we should do this in the workflow instead:
echo core >/proc/sys/kernel/core_pattern
we may miss crashes if we keep this enabled?
* remove reth-interfaces from fuzzing
* add secp256k1 to reth-db dev deps
2022-12-13 19:10:52 +02:00
Georgios Konstantopoulos
dff3936b29
feat(cli): db cmd scaffold ( #405 )
...
* feat(cli): db cmd scaffold
* feat(cli): add methods for seeding/listing tables
* feat(cli): add reth db stats
* chore: docs / cleanup
* chore: remove ethers
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-13 18:57:37 +02:00
Roman Krasiuk
5057e8ec0a
feat(p2p): refactor downloaders and add peer id to the result ( #410 )
...
* feat(p2p): refactor downloaders and add peer id to the result
* rm unused import
* fix tests
* clean up deps
* Update crates/interfaces/src/p2p/error.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
* add split fn
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-13 17:14:45 +01:00
Mariano A. Nicolini
2b1bb05ca3
tests(chain): add unit tests ( #411 )
...
* add chain id and display unit tests
* add from, into and default implementation tests
* add encodable length test for id chain
2022-12-13 17:02:55 +01:00
Mariano A. Nicolini
6e622d7533
tests(hex_bytes): add unit tests ( #395 )
...
* Add from_bytes and to_vec tests
* add encodable unit tests
* add partialeq unit tests
* apply code formatting
* add asserts for mirrored partialeq
* add decode test
2022-12-13 11:23:54 +02:00
Roman Krasiuk
0a6ef3b5af
feat(sync): senders commit threshold ( #401 )
2022-12-13 11:23:40 +02:00
Bjerg
d949e2ae18
chore: fix some typos ( #402 )
2022-12-13 10:20:47 +01:00
Beans
c3cda406d0
chore: fix typo ( #403 )
2022-12-13 10:03:35 +01:00
Dan Cline
aeca7ddaab
fix(eth-wire): remove inaccurate status doc ( #396 )
2022-12-13 08:33:22 +01:00
Dan Cline
705e6f79dc
feat(p2p): remove p2p crate ( #397 )
2022-12-13 08:28:38 +01:00
Will Smith
6aa2daee0f
fix(net): outgoing requsts ( #398 )
...
* remove inpossible case
* fix(net): outgoing requests stopping
2022-12-13 08:25:41 +01:00
Roman Krasiuk
d2acc6bdff
meta(contrib): bug issue template platform type ( #400 )
2022-12-13 08:22:32 +01:00
Roman Krasiuk
2534aa85ac
feat(rpc): net namespace ( #363 )
...
* feat(rpc): net namespace
* add network_id field to debug
* is_listening flag & peer count as hex
* eth api trait
* fix errors
* Update crates/net/rpc/src/net/mod.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
* add trait bounds directly
* fmt
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-12 19:53:56 +02:00
mempirate
452a81e0d3
feat(net): expose message module ( #390 )
...
* feat(net): expose message module
* feat(net): expose `PeerRequest`, allow missing docs
2022-12-12 18:34:54 +02:00
dome
ef487a35b0
add Installing Documentation ( #384 )
2022-12-12 18:32:44 +02:00
Roman Krasiuk
b7dadbe422
meta(git): vendored dep ignore regression ( #392 )
2022-12-12 18:30:37 +02:00
Georgios Konstantopoulos
f72becb3c2
ci: install geth for coverage
2022-12-12 18:30:03 +02:00
Will Smith
db7608e3b5
feat(net): expose config settings ( #386 )
...
* expose transaction origin
* feat(net): fill peer config builder
2022-12-12 18:29:20 +02:00
Matthias Seitz
da5545157a
feat(disc): support discport query and add display impl ( #385 )
...
* feat(disc): support discport query and add display impl
* chore: rustfmt
2022-12-12 01:08:32 +01:00
Will Smith
fecdc3f0f2
feat(net): add peer_id/ip blacklist ( #366 )
2022-12-11 02:05:07 -08:00