Commit Graph

334 Commits

Author SHA1 Message Date
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
Will Smith
9e6acece17 expose transaction origin (#383) 2022-12-11 09:15:25 +01:00
Matthias Seitz
c117d4b44f docs(net): add example docs and fix links (#375) 2022-12-10 09:19:25 -08:00
Matthias Seitz
9eebd141b7 chore(txpool): update TransactionPool trait bounds (#376) 2022-12-10 09:16:26 -08:00
Matthias Seitz
eedd31ca59 feat(txpool): implement missing remove function (#378) 2022-12-10 09:15:16 -08:00
Matthias Seitz
6870c41fb0 chore(txpool): deny additional lints (#379) 2022-12-10 09:12:16 -08:00
rakita
e014eaad33 feat(db): Refactor storage libraries (#371) 2022-12-09 23:14:07 -08:00
Dan Cline
37e016d4a3 feat(ci): add geth bin to GITHUB_PATH (#373)
* PATH is not updated between action steps, so GITHUB_PATH needs to be
   prepended with the directory the geth binary is in
2022-12-09 16:42:10 -08:00
Satoshi Okamoto
142b808cc3 Update gitignore from standard template (#372)
* Add .DS_Store to gitignore list for MacOS

* Update gitignore fromstandard template

* Update .gitignore

remove Cargo.lock from gitignore file

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>

Co-authored-by: Satoshi Okamoto <satoshi@butcher73.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-12-09 16:41:19 -08:00
Matthias Seitz
4318a54f59 feat(net): integrate TaskExecutor (#369) 2022-12-09 09:47:18 -08:00
Matthias Seitz
b0149f0b9f fix(net): prevent bad loop if no peers available (#359)
* fix(net): prevent bad loop if no peers available

* test: add poll fetcher test
2022-12-09 12:39:08 +01:00
Dan Cline
dffc42d6d5 feat(ci): add geth to ci (#367) 2022-12-08 22:40:20 -08:00
Matthias Seitz
f489ec51f0 feat: add TaskManager and Executor types (#357) 2022-12-08 09:15:48 -08:00
Matthias Seitz
2f73345696 misc(net): unify naming (#358) 2022-12-08 09:12:58 -08:00
0xYYY
fc2dfa7524 fix(interfaces/db): remove unused $seek:ty token in table! macro (#362)
Co-authored-by: 0xYYY <0xYYY@protonmail.com>
2022-12-08 09:12:44 -08:00
Shawn Harmsen
57c45b6626 add github link for bookk (#361) 2022-12-08 18:03:25 +01:00
Matthias Seitz
70635b7282 feat(rpc): add eth_pubsub skeleton (#354) 2022-12-08 13:55:56 +01:00
Roman Krasiuk
ba758c5f54 chore(sync): remove timeout from downloader (#356) 2022-12-08 04:53:56 -08:00
rakita
4fb3626546 chore: Last PR cleanup, nits (#353)
* chore: cleanup, tests and nits

* fmt
2022-12-08 11:16:01 +01:00
Larry
13297aaa95 docs: use BNB Smart Chain. (#351) 2022-12-07 23:44:48 -08:00
rakita
d66138e143 feat(execution): Account NotExisting and block reward changesets (#349) 2022-12-07 21:10:06 -08:00