Commit Graph

31 Commits

Author SHA1 Message Date
Matthias Seitz
ad5f9aa78c refactor: extract transaction consensus errors to standalone type (#1697) 2023-03-10 04:43:04 -08:00
Roman Krasiuk
9b81b4f20d chore: Header::seal and Header::seal_slow distinction (#1409) 2023-02-16 08:55:58 -08:00
Bjerg
d216081b58 feat: add Finish stage (#1279) 2023-02-14 17:10:50 +01:00
Roman Krasiuk
eba63b8f77 fix: chainspec ttd check (#1285)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-02-11 12:49:01 -08:00
Bjerg
02a6aec3fb feat: support time-based forking (#1128) 2023-02-06 12:55:41 -08:00
Roman Krasiuk
a3800c52c0 feat(consensus): beacon consensus builder (#1119) 2023-02-01 06:28:58 -08:00
Matthias Seitz
28cb91c6b4 perf(net): use qualified types for headers client future (#1115) 2023-02-01 13:12:48 +01:00
Aurélien
e2ac4d3f3c feat: convert HeadersClient BodiesClient futures into associated types (#1063) 2023-01-30 01:25:15 -08:00
Matthias Seitz
6c37b0aa1b feat: add task header downloader (#958) 2023-01-25 12:32:28 +01: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
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
LambdaClass
a1c8a34711 test: add test for header stage two step download (#843) 2023-01-13 14:40:42 -08:00
Dimitris Apostolou
31cb66902e fix: Fix typos (#773) 2023-01-09 01:43:51 +01: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
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
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
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
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
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
Roman Krasiuk
ba758c5f54 chore(sync): remove timeout from downloader (#356) 2022-12-08 04:53:56 -08:00
rakita
d66138e143 feat(execution): Account NotExisting and block reward changesets (#349) 2022-12-07 21:10:06 -08:00
Roman Krasiuk
9628d03871 feat(sync): headers commit threshold (#296)
* headers stream init

* fix tests

* return header if available regardless of control flow

* proper stream termination & docs

* upd headers stage to consume stream

* adjust response validation for stream

* use cursor.insert for headers

* wrap poll_next in a loop to bypass poking waker

* fix typo

* fix last td lookup

* Apply suggestions from code review

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

* misc

* remove waker ref

* dedup response handling logic

* clippy

* add docs to poll

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-06 18:02:04 -08:00
Matthias Seitz
a0c35f1f48 refactor: replace reverse with HeadersDirection (#305) 2022-12-01 17:59:33 +01:00
Matthias Seitz
fb2861f112 feat(net): integrate HeadersClient (#251)
* refactor: headers client

* chore: rustfmt

* chore(clippy): make clippy happy

* feat(net): integrate HeadersClient

* fix: parse td as U256 with from_little_endian

* conflicts

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-11-25 14:26:43 +01:00
Matthias Seitz
dda8df7341 refactor: headers client (#249)
* refactor: headers client

* chore: rustfmt

* chore(clippy): make clippy happy

* address comments

* use Error instead

* fix(sync): headers test client & stage tests (#255)

* headers test client & stage tests

* fix timeout test

* fix import

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2022-11-25 14:00:06 +01:00
Roman Krasiuk
4936d467c9 test(sync): stage test suite (#204)
* test(sync): stage test suite

* cleanup txindex tests

* nit

* start revamping bodies testing

* revamp body testing

* add comments to suite tests

* fmt

* cleanup dup code

* cleanup insert_headers helper fn

* fix tests

* linter

* switch mutex to atomic

* cleanup

* revert

* test: make unwind runner return value instead of channel

* test: make execute runner return value instead of channel

* Revert "test: make execute runner return value instead of channel"

This reverts commit f8608654f2.

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-11-18 17:57:29 -08: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
fc9b6f35e7 feat(test): add TestApi type (#183) 2022-11-10 13:17:36 -05:00