Commit Graph

192 Commits

Author SHA1 Message Date
Georgios Konstantopoulos
f8608654f2 test: make execute runner return value instead of channel 2022-11-18 15:37:44 -08:00
Georgios Konstantopoulos
077ddf020a test: make unwind runner return value instead of channel 2022-11-18 15:26:01 -08:00
Roman Krasiuk
14e1800483 revert 2022-11-18 15:12:57 +02:00
Roman Krasiuk
cc3340d7d3 cleanup 2022-11-18 12:45:26 +02:00
Roman Krasiuk
8b6d457a19 switch mutex to atomic 2022-11-18 12:44:23 +02:00
Roman Krasiuk
c695d2bc90 linter 2022-11-18 10:29:08 +02:00
Roman Krasiuk
1db7a8659b fix tests 2022-11-18 10:20:35 +02:00
Roman Krasiuk
2af4d76629 cleanup insert_headers helper fn 2022-11-17 16:45:57 +02:00
Roman Krasiuk
9147e8653d cleanup dup code 2022-11-17 16:33:58 +02:00
Roman Krasiuk
c473012b1e fmt 2022-11-17 16:23:13 +02:00
Roman Krasiuk
cb0ffc175f add comments to suite tests 2022-11-17 15:59:07 +02:00
Roman Krasiuk
fac647c602 revamp body testing 2022-11-17 15:16:43 +02:00
Roman Krasiuk
8c0222a3cc start revamping bodies testing 2022-11-16 18:25:35 +02:00
Roman Krasiuk
a252f21bdc Merge branch 'main' of github.com:foundry-rs/reth into rkrasiuk/stage-test-suite 2022-11-16 09:15:09 +02:00
Roman Krasiuk
640cad2cb6 nit 2022-11-16 08:43:00 +02:00
Matthias Seitz
6b336c62fb feat: add blog propagation handlers (#205) 2022-11-15 23:33:03 +01:00
Matthias Seitz
f8fddcdfa4 feat(p2p): integrate txpool in p2p (#208) 2022-11-15 22:27:41 +01:00
Matthias Seitz
f0388e4032 refactor: move BlockHashOrNumber to primitives (#203) 2022-11-15 09:44:07 -08:00
Roman Krasiuk
8ee6d80949 cleanup txindex tests 2022-11-15 19:10:11 +02:00
Matthias Seitz
391a509443 feat: add FromRecoveredTransaction conversion trait (#207) 2022-11-15 16:24:13 +01:00
Roman Krasiuk
65ac844cb2 test(sync): stage test suite 2022-11-15 13:47:15 +02:00
Matthias Seitz
b60ced1de1 feat: add missing message handling (#200)
* feat: add missing message handling

* refactor: new block message handling

* feat: add events and commands for transaction handling

* more work in transactions

* chore: silence warnings
2022-11-15 10:34:28 +01:00
Bjerg
92a7818512 feat: bodies stage (#190)
* chore: clean up `.gitignore`

* fix: make RO cursors `Send + Sync`

* feat(wip): bodies stage

* driveby: improve docs

* chore: don't panic if we're the first stage

* chore: use `Vec` for ommers

* feat: error handling in bodies downloader

* chore: remove stale comment

* chore: pascal-case stage id

* refactor: remove unused new fns

* refactor: distinguish downloaders with prefix

* refactor: move downloader errs to own module

* refactor: `stream_bodies` -> `bodies_stream`

* test: fix borked imports in header stage

* test: clean up header tests

* test: add basic body stage tests

* test: add 2 more body stage test skeletons

* test: move generator test utils to own module

* refactor: move proof functions to primitives crate

* feat: add block generator test utils

* test: more body stage tests

* chore: fix typo (`Cannonical*` -> `Canonical`)

* docs: document `bodies_to_download`

* test: more body stage tests

* test: more body stage tests

* refactor: clean up body stage tests a bit

* test: fix broken tests

* refactor: clean up body stage tests

* test: more body stage tests
2022-11-15 08:49:11 +01:00
Matthias Seitz
651eed1086 chore(txpool): add PoolError::hash function (#202) 2022-11-14 20:35:08 +01:00
Matthias Seitz
14e97b2c43 chore(txpool): add external transaction helper function (#201) 2022-11-14 20:34:15 +01:00
Dan Cline
f1e6639374 feat(net): authenticate sessions (#178)
* Switch stream type of ActiveSession to EthStream

 * Start `StatusBuilder` for initializing the `Status` message required
   for the handshake
 * Add `Hardfork` for `Status` default forkid
 * Add `MAINNET_GENESIS` constant

* finish `StatusBuilder`

* initialize eth streams in session

 * add status, hello, and fork filter to session manager
 * fix status builder example
 * add status and hello to network config
   * will probably remove

* removing status and hello from networkconfig

* move forkid to primitives

* change imports for forkid

* add hardfork to primitives

* remove hardfork and forkid from eth-wire

* fix remaining eth-wire forkid references

* put mainnet genesis in constants, remove NodeId

* replace NodeId with PeerId

 * the only NodeId remaining is inherited from enr
 * PeerId still needs to be documented
 * also run cargo fmt

* replace loop with iter().any()

* ignore missing docs for hardforks

* use correct PeerId for Discv4::bind example test

* document PeerId as secp256k1 public key

* cargo fmt

* temporarily allow too_many_arguments

 * the authenticate and start_pending_incoming_session methods have many
   arguments, we can reconsider the lint or fix the methods at a later
   point
2022-11-14 12:03:05 -05:00
Matthias Seitz
5ca2cab97f refactor: move RequestError from network to interfaces p2p (#197) 2022-11-13 09:46:38 +01:00
Matthias Seitz
139efee599 feat(net): impl peer management (#194) 2022-11-12 08:41:15 +01:00
Bjerg
9575eb89fb ci: fix workflow concurrency control (#191) 2022-11-11 07:46:32 +01:00
Bjerg
2754315e68 chore: omner -> ommer (#192)
* chore: omner -> ommer

* chore: missmatch -> mismatch

* chore: other typos
2022-11-11 07:46:09 +01:00
Bjerg
c13898e199 ci: make codecov less noisy (#193) 2022-11-11 07:45:43 +01:00
Matthias Seitz
1db9a5aed4 ci: NEXTEST_EXPERIMENTAL_FILTER_EXPR env var no longer required (#188) 2022-11-10 22:30:19 +01:00
Matthias Seitz
c43d752929 feat(net): more request handling (#186)
* feat(net): more request handling

* rm uneccessary checks

* rm box
2022-11-10 21:24:47 +01:00
Matthias Seitz
dd4878c0e3 fix: remove broken client feature for pubsub (#189) 2022-11-10 20:12:32 +01:00
Matthias Seitz
a77018fe03 chore: bump git deps in Cargo.lock (#187) 2022-11-10 19:57:11 +01:00
Matthias Seitz
fd6a7cb628 WIP: feat: ipc support (#144)
* feat: ipc support

* copy futures

* feat: port ipc implementation

* cleanup

* add test

* fix clippy

* add request test
2022-11-10 19:47:00 +01:00
Matthias Seitz
fc9b6f35e7 feat(test): add TestApi type (#183) 2022-11-10 13:17:36 -05:00
Dan Cline
d4aabe4751 fix(eth-wire): fix usage of sink API in P2PStream (#184)
* fix(eth-wire): fix usage of sink API in P2PStream

* add error checks for sink buffer inserts
2022-11-09 19:06:27 -05:00
rakita
9e35d58b05 feat(primitive): Signer recovery (#179)
* feat(consensus): Signer recovery and tx validation

* Signature hash and use seckp256k1 over k256

* use deref_more for transactions

* cleanup and fix for eip1559 hash

* fix hash calculation on decoding
2022-11-09 18:11:32 +01:00
Matthias Seitz
836ad6aaee feat(net): add request/response message types (#176)
* feat(net): add request/response message types

* chore: rustfmt
2022-11-08 17:52:17 +01:00
Roman Krasiuk
b9700791c8 feat(db): transaction value type (#175) 2022-11-08 16:56:13 +01:00
rakita
7ecbe01741 feat(provider): Add StorageProvider impl, table changes (#172)
* feat(provider): Add StorageProvider impl, table changes

* unwind header numbers by walker (#174)

* readme, fmt

* fix tests

* Update crates/interfaces/src/provider/db_provider/storage.rs

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>

* Update crates/interfaces/src/provider/db_provider/storage.rs

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2022-11-08 15:55:45 +01:00
Matthias Seitz
1408309b74 feat(net): add active session type (#169)
* refactor(net): unify capability types

* refactor(net): unify capability types

* feat(net): add active session type
2022-11-07 23:15:38 +01:00
rakita
86ffb4756d feat(bin): simple reth node command (#158)
* feat(bin): simple reth node command

* use silent flag

* small chore
2022-11-07 12:10:09 -08:00
Matthias Seitz
caad026c70 refactor: rename HeaderLocked to SealedHeader (#173) 2022-11-07 21:06:53 +01:00
Roman Krasiuk
099d3cee9a meta(dep): ignore c files (#171) 2022-11-07 19:59:46 +01:00
Matthias Seitz
5721262740 refactor(net): unify capability types (#168)
* refactor(net): unify capability types

* refactor(net): unify capability types
2022-11-07 18:04:17 +01:00
Matthias Seitz
e870a4ce13 refactor(txpool): use tx hash for on new block update (#170)
* refactor(txpool): use tx hash for updates

* chore: rustfmt
2022-11-07 14:50:36 +01:00
Matthias Seitz
b7cdfbf4f9 feat(net): network scaffolding (#110)
* feat(net): network scaffolding
2022-11-07 09:27:08 +01:00
Roman Krasiuk
9c40f8265b test(sync): headers stage test runner (#163)
* refactor headers stage tests

* inline unwind util functions
2022-11-04 08:15:34 -07:00