Commit Graph

52 Commits

Author SHA1 Message Date
Roman Krasiuk
25ac1370fd refactor(sync): header sync mode (#1831) 2023-03-19 06:59:37 -07:00
Francisco Krause Arnim
a688fdb38d feat(rpc): eth_sign* (#1665)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Tomás <tomas.gruner@lambdaclass.com>
2023-03-14 18:03:38 -07:00
Matthias Seitz
ad5f9aa78c refactor: extract transaction consensus errors to standalone type (#1697) 2023-03-10 04:43:04 -08:00
joshieDo
2884eae075 perf: bench merkle stage (#1497) 2023-02-28 23:20:00 -07:00
Georgios Konstantopoulos
fad9c04b07 feat: Account Hashing Stage Benchmark (#1301)
Co-authored-by: joshieDo <ranriver@protonmail.com>
2023-02-17 15:28:46 +08:00
Roman Krasiuk
9b81b4f20d chore: Header::seal and Header::seal_slow distinction (#1409) 2023-02-16 08:55:58 -08:00
Roman Krasiuk
e97753c768 feat: withdrawals (#1322)
Co-authored-by: rakita <rakita@users.noreply.github.com>
2023-02-16 04:44:05 -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
Tomás
fd7dc11960 feat(sync): MerkleStage (#994)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
Co-authored-by: Francisco Krause Arnim <fkrausear@gmail.com>
2023-02-03 18:50:33 -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
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
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
rakita
899d011bfd feat: add AccountHashingStage and StorageHashingStage (#756)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-18 10:22:39 -08:00
Kim, JinSan
161fe0d957 test: signature & transaction w/ EIP155 (#914) 2023-01-18 09:48:52 -08: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
Kim, JinSan
c4bafe809b fix: clippy warnings, or_fun_call and unnecessary_lazy_evaluations (#846) 2023-01-13 11:10:02 +01:00
Dimitris Apostolou
31cb66902e fix: Fix typos (#773) 2023-01-09 01:43:51 +01:00
joshieDo
6407b5087e chore: use B160, B256 and U256 coming from revm and ruint (#676)
* use B256, B160 and U256 from revm

* fix U256 from_str

* use U256::ZERO

* use temporary commit for revm and interpreter

* more U256::ZERO

* more changes for revm/ruint types

* clippy

* change revm and revm-interpreter repo

* remove H160 wrap

* minor cleanup

* remove unused

* fix MIN_PROTOCOL_BASE_FEE
2023-01-04 11:11:48 +02:00
Roman Krasiuk
a7d8059357 test(engine): consensus engine tests (#648) 2022-12-30 13:17:27 +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
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
1dca4b58df test(sync): sender recovery single tx (#516) 2022-12-19 16:08:07 +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
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
rakita
e014eaad33 feat(db): Refactor storage libraries (#371) 2022-12-09 23:14:07 -08: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
3355b0c605 test(net): add e2e request body test (#304)
* test(net): add e2e request body test

* test(net): add e2e request header test
2022-12-01 15:35:14 +01:00
joshieDo
3efc6ee67e feat(db): Make TransactionSigned compactable (#252) 2022-11-27 23:29:30 -08:00
Matthias Seitz
fd840e1c66 refactor: bodies client API (#257)
* refactor: bodies client API

* chore: fix errors
2022-11-26 10:04:42 +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
82b37b9bfb feat(sync): sender recovery stage (#181)
* feat(sync): sender recovery stage

* execute tests

* more tests & cleanup

* senders cont

* clean up & comments

* clippy

* cleanup

* comments

* put back arbitrary dep
2022-11-23 00:22:17 -08: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
rakita
09c5c3449e feat(executor): transaction and receipts verification (#195)
* transaction verification

* Add providers to interfaces

* add receipt check in executor verify

* Removed receipts, added bloom

* post merge header checks

* fmt clippy

* gas price type removal

* rm leftover

* move consts to contstant.rs
2022-11-16 11:10:36 -08:00