293 Commits

Author SHA1 Message Date
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
Bjerg
ba44c1551c feat: pipeline builder (#1017)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-27 18:21:12 +01:00
Roman Krasiuk
8cfe24081e fix(download): body download range (#1065) 2023-01-27 06:55:25 -08:00
Roman Krasiuk
4a5a1dbea8 fix(download): header downloader initial state (#1064) 2023-01-27 05:02:44 -08:00
Roman Krasiuk
b5dab614df feat(cli): spawn task downloaders (#1055) 2023-01-26 19:20:13 +02:00
Roman Krasiuk
bd540c70ce feat(download): bodies task downloader and header selection fix (#1049) 2023-01-26 04:43:22 -08:00
Francisco Krause Arnim
d6bd075e7b doc: Fix broken doc-test on task.rs (#1042)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-01-25 21:23:48 +01:00
Matthias Seitz
6c37b0aa1b feat: add task header downloader (#958) 2023-01-25 12:32:28 +01:00
Roman Krasiuk
d08aa94f5d feat(download): bodies downloader metrics (#1027) 2023-01-25 02:59:12 -08:00
Roman Krasiuk
c5cd64bb0e chore(download): cleanup bodies downloader errors (#1026) 2023-01-25 02:05:24 -08:00
Roman Krasiuk
93194e8a0c metrics(download): move header stage metrics to downloader (#1014) 2023-01-25 01:02:38 -08:00
Roman Krasiuk
01cb6c07df nit: add must_use to ConcurrentDownloader (#1010) 2023-01-24 06:24:15 -08:00
Roman Krasiuk
e195e1d14c chore(download): propagate fatal bodies db error (#1008) 2023-01-24 06:17:53 -08:00
Bjerg
7905100f6d refactor: use dyn Consensus (#1007) 2023-01-24 14:33:48 +01:00
Matthias Seitz
a24048a237 refactor: deprecate downloader trait (#959) 2023-01-24 13:38:11 +01:00
Matthias Seitz
167aa60ed2 chore(deps): rm unused deps in downloaders (#1004) 2023-01-24 12:14:50 +01:00
Roman Krasiuk
d601895940 feat(download): bodies downloader stream (#905)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-23 10:48:03 -08:00
Matthias Seitz
3c64c94616 perf: send request retries with high priority (#955) 2023-01-21 15:25:40 +01:00
Ikechukwu Ahiara Marvellous
ac9f26fcab Extend HeadersClient, BodiesClient with a priority argument (#935)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2023-01-20 14:20:46 +01:00
Matthias Seitz
b4080a7de5 feat: concurrent headers downloader (#891) 2023-01-20 12:06:06 +01:00
Matthias Seitz
79fad91ca0 feat(net): integrate num active peers in downloader (#900)
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2023-01-17 01:31:52 -08:00
Matthias Seitz
18dbcd4e6a fix: use correct boolean conversion for direction (#870) 2023-01-13 15:50:39 +01:00
Enrique Ortiz
70e528857a chore(downloaders): remove backoff logic (#823)
Co-authored-by: Enrique Ortiz <evalir@users.noreply.github.com>
2023-01-11 20:38:29 +01:00
rakita
e5e74cbc02 fix(execution): Increase cache scope, and apply block reward to cache (#793)
* bug: Apply block reward to evm cache

* Move cache to all blocks

* add tests

* Update crates/executor/src/executor.rs

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

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2023-01-10 08:05:50 -08:00
Roman Krasiuk
28f67b371d feat(download): dynamically adjust body request (#718)
* feat(download): dynamically adjust body request

* add tests

* Update crates/net/downloaders/src/bodies/concurrent.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

* add comment

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2023-01-04 11:08:28 -08:00
Roman Krasiuk
8c413ad0a9 trace(download): failed requests (#715) 2023-01-04 19:55:59 +01:00
Roman Krasiuk
a7f8d4fc39 feat(download): body downloader tracing (#691)
* feat(download): body downloader tracing

* rm unused import

* add request & response len
2023-01-03 13:28:56 +02: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
Matthias Seitz
410a1f9cfe perf: allocate responses capacity (#618) 2022-12-26 21:38:00 +02:00
Genysys
0b1b5368e6 chore: Rename BlockLocked to SealedBlock (#573)
* chore: Rename BlockLocked to SealedBlock

* chore: fmt

Co-authored-by: Genysys <112424909+samtvlabs@users.noreply.github.com>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-22 14:45:36 +02:00
Bjerg
82cd84eca7 test: fix emits_bodies_in_order test (#534)
* feat(test-utils): make body tx count configurable

* test: fix `emits_bodies_in_order` test
2022-12-20 01:29:04 +01:00
Roman Krasiuk
6a36a6a58c chore(sync): remove unused timeout from LinearDownloadBuilder (#524)
* chore(sync): remove timeout from linear download builder

* rm unused import
2022-12-19 18:40:45 +01:00
Roman Krasiuk
c1a863d067 test(download): header downloader request attempts & remove duplicates (#517)
* test(download): header downloader request attempts

* fix comment
2022-12-19 16:18:38 +01:00
Roman Krasiuk
daaf039fbf feat(sync): state transition indexes (#449)
* introduce state transitions and revert/modify block bodies table

* init refactor

* revamp transaction iteration based on bodies and add state transition mappings

* change expected return on empty db execution

* interim commit

* fix body downloader & stage

* refactor(bodies/dl): make fetch bodies fn more clear

* chore: disable unused vars/fns temporarily until exec is back

* chore: fmt

* test: fix tests

* use transitions in execution stage

* clarify empty unwind test

* remove last_tx_index fn

* rename fn and var names

* fix full block response comment

* rename fetcher`s get_block_body to get_block_bodies

* Update crates/stages/src/db.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

* fmt

* fix index overlap check error

* uncomment eth chain command

* fix doc comment

* typos

* cleanup

* any_last_tx_index -> last_tx_index

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
2022-12-16 08:37:49 -08:00
Roman Krasiuk
2b0f5316f9 fix(sync): headers stage progress (#467)
* fix(sync): headers stage progress

* add tests to head/tip and split suite

* fix(sync): headers stage progress

* add tests to head/tip and split suite

* fix local tip and address comments

* rename error
2022-12-15 10:41:32 -08:00
Bjerg
789dc3bc87 feat: request multiple bodies per request (#468) 2022-12-15 18:39:47 +01:00
Roman Krasiuk
22dc50e5f6 feat(sync): download peer penalization (#427)
* feat(sync): download peer penalization

* peer penalization

* add tracing on penalization

* add trace on request

* rename consensus back

* clippy

* fix tests

* nit: download result

* nit: fix comment

* rename penalize() to report_bad_message() and move DownloadError

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-15 10:42:18 +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
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
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
Roman Krasiuk
ac5efc0749 fix(download): stream loop (#433) 2022-12-14 11:39:02 +01: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