Commit Graph

64 Commits

Author SHA1 Message Date
Matthias Seitz
4725c4d776 fix: make ChainState provider work for Box<dyn StateProvider> (#1755) 2023-03-14 17:58:14 -07:00
rakita
237fd5ce6e feat: BlockchainTree (#1212)
Co-authored-by: Dragan Rakita <draganrakita@192.168.1.4>
2023-03-14 11:17:14 -07:00
joshieDo
ee3a8af754 fix(stages): clear pre-eip161 accounts (#1747) 2023-03-13 23:41:33 -07:00
Tomás
54aab533c2 feat(rpc): add partial eth_getProof implementation (#1515)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-03-13 17:49:36 -07:00
Roman Krasiuk
ff34c0ec2a chore(executor): add tx hash to evm error (#1714) 2023-03-12 18:38:29 +01:00
Roman Krasiuk
8ba0a190b8 fix(executor): preserve existing account state (#1691) 2023-03-09 09:14:36 -08:00
Bjerg
161de9aadf feat: persist contract analysis in db (#1640) 2023-03-08 16:25:14 +01:00
rakita
21c66621dd feat: ExecutorFactory (#1672) 2023-03-08 16:01:56 +01:00
Roman Krasiuk
a34226c8e5 chore(executor): reuse revm hashmap (#1663) 2023-03-07 18:56:34 +01:00
rakita
42e3f56108 feat: refactor few stages to providers, introduce insert_block (#1474)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-03-01 13:42:45 -07:00
Georgios Konstantopoulos
4285186dbd refactor: Execution Stage owns Executor (#1568)
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
2023-03-01 00:55:51 +01:00
Matthias Seitz
7a01e1e231 feat: add eth state cache (#1561) 2023-02-28 20:46:25 +01:00
Georgios Konstantopoulos
56394eec2c feat: Hook on Execution (#1567) 2023-02-27 08:21:34 -07:00
Matthias Seitz
5844ce10f3 feat: add evm env provider (#1525)
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2023-02-24 11:21:18 +01:00
Matthias Seitz
8299ca6fd6 feat: add reth-revm crate (#1526) 2023-02-23 14:16:42 +01:00
Roman Krasiuk
4bdbcf346e feat(cli): enable shanghai ethereum tests (#1416) 2023-02-17 16:57:14 +01:00
Roman Krasiuk
e97753c768 feat: withdrawals (#1322)
Co-authored-by: rakita <rakita@users.noreply.github.com>
2023-02-16 04:44:05 -08:00
rakita
a1f7f54ab5 bug: wipe storage only on selfdestruct (#1319) 2023-02-13 20:06:56 +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
rakita
23848df73a chore: update revm to v3.0.0 (#1248)
Co-authored-by: Francisco Krause Arnim <fkrausear@gmail.com>
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-02-10 11:56:59 -08:00
Bjerg
440718288d feat: add reth init and reth import (#877)
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
2023-02-09 15:08:10 -05:00
Bjerg
02a6aec3fb feat: support time-based forking (#1128) 2023-02-06 12:55:41 -08:00
Kim, JinSan
6dce98cfa8 chore(execution): Refactor unused executor (#1096)
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-02-03 16:36:30 -08:00
Georgios Konstantopoulos
1f64d8e9d7 refactor: pull reth/common/rlp up to reth/rlp (#1146) 2023-02-02 13:54:13 -08:00
rakita
0e24093b0b fix: dont insert empty accounts after spurious dragon (#1089) 2023-01-30 22:21:18 +01:00
Georgios Konstantopoulos
0c341ed9ce Revert "feat: support time-based forking" (#1090) 2023-01-30 10:58:55 -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
Aurélien
9cdead5646 feat: support time-based forking (#985) 2023-01-27 10:49:54 -05:00
rakita
c7289bd9e8 feat: Selfdestruct storage changeset (#974) 2023-01-23 14:04:45 +01:00
Dan Cline
78ffd0a7c0 fix(primitives): remove Hardfork::Eip150, Eip158 (#926) 2023-01-18 19:38:25 -08:00
Dan Cline
82b10fae41 feat(primitives): add Hardfork::Eip150 and Eip158 (#925) 2023-01-18 15:04:16 -08:00
Aurélien
f9de425ad8 refactor: unify all chains confs (#747)
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2023-01-17 07:47:34 -08:00
rakita
a1a08b26d8 feat: Add DAO hardfork irregular state change (#884) 2023-01-14 11:25:28 +01:00
joshieDo
aabbe4923b chore(codecs): add proptest roundtrip to all main_codec (#803) 2023-01-10 22:06:01 -08: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
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
565a0aa90b feat(engine): new payload execution (#631)
* feat(engine): new payload execution

* address PR comments

* rm unused dev deps

* add comment about lru

* remove par_iter
2022-12-29 02:36:56 -08:00
rakita
bfe2fd6221 ci: add eth chain test. Set prevrandao after merge (#621)
* Small changes

* feat: Add eth chain test to ci. Set prevrandao after merge

* Update .github/workflows/ci.yml

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

* move env

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-12-26 22:55:46 +01:00
rakita
f21a4020b1 feat(execution): Add ommers reward (#611)
* feat(execution): Add ommers reward

* Refactor and add comments
2022-12-26 15:44:51 +01:00
Namra Patel
bb10305d09 Fix typo and rename remaining ExecutorDb to StateProvider (#608)
* Fix typo

* ExecuterDb -> StateProvider
2022-12-26 13:41:29 +02:00
rakita
284391c181 test(execution): chain test state check, execution bug fixes/upgrades (#472)
* temp: header stage backoff stand-in

* feat(execution): Check chain post state, fix StateProviderLatest and evm return

* Disable receipt merkle tree check

* update and merge

* Fix storage double values in dup table

* fmt

* Update bin/reth/src/test_eth_chain/runner.rs

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

* Enable receipt root check after byzantium

* Receipt inner rlp without header for proof root

* some cleanup nits

* nit

Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-23 18:42:19 +01:00
Bjerg
562e895f21 ci: unused dependencies sanity check (#590)
* ci: add unused deps sanity check

* ci: fix unused deps issue template title

* ci: rename udeps job

* chore: formatting

* chore: make `cargo-udeps` ignore `aquamarine`

* deps: resolve unused deps

* ci: check every feature and target in udeps job
2022-12-23 13:19:50 +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
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
9208f2fd9b test(execution): execution test runner (#426)
* wip run chain test

* dump pre test state

* bug: fix casting to revm spec

* wip move execution to std thread

* wip scoped thread execution

* fmt clippy

* Update crates/stages/src/stages/execution.rs

* Update bin/reth/Cargo.toml

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

* Update bin/reth/src/test_eth_chain/models.rs

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

* Correct models for chain tests

Co-authored-by: rakita <dragan0rakita@gmail.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-12-15 13:39:55 +01:00
Bjerg
d949e2ae18 chore: fix some typos (#402) 2022-12-13 10:20:47 +01:00
rakita
e014eaad33 feat(db): Refactor storage libraries (#371) 2022-12-09 23:14:07 -08:00
rakita
4fb3626546 chore: Last PR cleanup, nits (#353)
* chore: cleanup, tests and nits

* fmt
2022-12-08 11:16:01 +01:00
rakita
d66138e143 feat(execution): Account NotExisting and block reward changesets (#349) 2022-12-07 21:10:06 -08:00