Commit Graph

43 Commits

Author SHA1 Message Date
f8ceda9ea8 chore: reduce size of common types (#5304) 2023-11-06 12:45:20 +00:00
e05dba69ce chore: rewrite all error messages for consistency (#5176)
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2023-10-25 20:12:03 +00:00
f534b405cd fix: do not validate increasing withdrawal indexes (#4844) 2023-09-28 18:12:21 +00:00
5f9a917fb1 feat: Alloy migration (#4737)
Co-authored-by: Alessandro Mazza <121622391+alessandromazza98@users.noreply.github.com>
Co-authored-by: Supernovahs.eth <91280922+supernovahs@users.noreply.github.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
2023-09-28 15:55:39 +00:00
ad9235be3b feat(interfaces): better documentation for ConsensusError (#4725) 2023-09-22 14:19:53 +00:00
24a8590e69 feat: validate blob_gas_used in header (#4676) 2023-09-20 06:58:48 +00:00
0c7a93717a feat: add EIP-4788 parent_beacon_block_root to Header (#4299) 2023-08-29 17:55:13 +00:00
94dfeb3ade fix: validate headers in full block downloader (#4034) 2023-08-02 16:36:48 +00:00
334d6068ad feat: add 4844 header fields and consensus checks (#3972) 2023-07-29 12:51:16 +00:00
1ff26dd2fd feat(stages): unwind on detached local head (#3066) 2023-06-09 17:35:46 +00:00
7b7805a4cc refactor: rm dupe InvalidTransactionErrors (#2737) 2023-05-19 10:13:33 +02:00
fd5a1ef4a8 chore: rm unused error variants (#2711) 2023-05-17 13:41:52 +02:00
70ead6e6dd fix: consider same timestamp as parent block invalid (#2454) 2023-04-28 11:53:15 -07:00
e5caf7b4f7 chore: misc blockchain tree (#2453) 2023-04-28 11:07:28 -07:00
576f33b151 fix: consensus validation method typo (#2432) 2023-04-27 16:04:50 +02:00
837555e296 chore(consensus): Clear up the naming and intention behind checks (#2415)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2023-04-26 18:04:36 +02:00
370c39525a feat(stages): Simplify TD stage (#2344) 2023-04-21 20:56:13 +02:00
68d8506d8e feat: block level indexing (#2275)
Co-authored-by: rakita <dragan0rakita@gmail.com>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-04-20 15:03:48 -04:00
25ac1370fd refactor(sync): header sync mode (#1831) 2023-03-19 06:59:37 -07:00
ad5f9aa78c refactor: extract transaction consensus errors to standalone type (#1697) 2023-03-10 04:43:04 -08:00
ba96b9d165 feat: Add Latest State TransactionValidator implementation (#1498) 2023-03-10 10:35:59 +01:00
e97753c768 feat: withdrawals (#1322)
Co-authored-by: rakita <rakita@users.noreply.github.com>
2023-02-16 04:44:05 -08:00
eba63b8f77 fix: chainspec ttd check (#1285)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-02-11 12:49:01 -08:00
02a6aec3fb feat: support time-based forking (#1128) 2023-02-06 12:55:41 -08:00
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
a3800c52c0 feat(consensus): beacon consensus builder (#1119) 2023-02-01 06:28:58 -08:00
e63d257f0a docs: consensus engine API (#1083) 2023-01-29 09:26:24 -08:00
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
7905100f6d refactor: use dyn Consensus (#1007) 2023-01-24 14:33:48 +01:00
31cb66902e fix: Fix typos (#773) 2023-01-09 01:43:51 +01:00
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
4fb3626546 chore: Last PR cleanup, nits (#353)
* chore: cleanup, tests and nits

* fmt
2022-12-08 11:16:01 +01:00
d66138e143 feat(execution): Account NotExisting and block reward changesets (#349) 2022-12-07 21:10:06 -08:00
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
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
2754315e68 chore: omner -> ommer (#192)
* chore: omner -> ommer

* chore: missmatch -> mismatch

* chore: other typos
2022-11-11 07:46:09 +01:00
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
caad026c70 refactor: rename HeaderLocked to SealedHeader (#173) 2022-11-07 21:06:53 +01:00
ac2f3fcd8a feat: Consensus crate and verification functions. (#152)
* wip executor

* wip

* Cleanup added some checks and structure to executor

* adding additional block/header checks

* add basefee calculation and check

* some cleanup

* Sanity check test

* Test for sanity check

* move verification to consensus crate

* cleanup

* Better Error handling
2022-11-02 12:59:51 +01:00
61b8829bdf feat(sync): headers stage (#126)
* port headers stage

* clean up, utils & tests

* more tests

* unwind cleanup & tests

* remove unused rand crate
2022-10-25 16:50:01 -07:00
15bd88e637 headers(part2) - feat: add Downloader trait and test utils (#118)
* feat(interfaces): implement header client traits

* feat: add downloader trait implementer

* feat: use explicit error type instead of ok(false)

* feat: add constructor to HeaderLocked

* test: scaffold mock consensus, downloader and headersclient helpers

* test: implement test consensus

* test: implement test headers client

* refactor: cleanup download headers

* chore: fix lint

* s/test_utils/test_helpers

* headers(part 3) feat: implement Linear downloader (#119)

* feat: add headers downloaders crate

* feat: more scaffolding

* interfaces: generalize retryable erros

* feat: implement linear downloader

* fix linear downloader tests & add builder

* extend & reverse

* feat: linear downloader generics behind arc and reversed return order (#120)

* put client & consensus behind arc and return headers in rev

* cleanup

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

* extract test_utils

* cargo fmt

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2022-10-24 04:56:43 -07:00
573d343b66 chore: extend consensus with fork choice state (#27)
* consensus fork choice

* fork_choice -> fork_choice_state
2022-10-09 19:31:57 +02:00
074f452275 Small skeleton for executor abstraction (#14) 2022-10-06 16:01:23 +02:00