Commit Graph

7904 Commits

Author SHA1 Message Date
a7cf915677 refactor(txpool): consider below proto fee cap an error (#71) 2022-10-14 17:10:05 +02:00
a644318c32 feat(p2p): Include forkid file from apache licenced repo (#68)
* Start using reth-rlp
* Include apache licenced forkid file in primitives
* Move forkid to eth-wire
2022-10-14 16:52:59 +02:00
19d001fbdd chore(txpool): require public traits to be static (#74) 2022-10-14 16:05:46 +02:00
4790256507 feat: skip/error pipeline events (#70) 2022-10-14 14:08:41 +02:00
0d97014f4c docs: mermaid diagram for pipeline (#67) 2022-10-14 13:23:13 +02:00
92e64ed71f include apache licenced fastrlp as reth-rlp (#63)
* include apache licenced fastrlp as reth-rlp
* fmt
* Include LICENCE and README for reth-rlp
2022-10-14 12:43:21 +02:00
6d0bd9037e feat(txpool): add get_all function (#65) 2022-10-14 11:19:15 +02:00
794c07391e feat(txpool): extend poolconfig (#61) 2022-10-13 20:49:35 +02:00
6b71460e7e refactor(txpool): simplify validator trait (#60)
* refactor(txpool): simplify validator trait

* fix docs
2022-10-13 20:36:15 +02:00
55768a534d feat(txpool): add listeners for all transactions (#59) 2022-10-13 10:47:32 -07:00
84ec30db5b feat(txpool): add support for mock testing (#55)
* chore: some cleanup

* refactor(txpool): simplify layers and add docs

* refactor: more cleanup

* refactor: cleanup and simplifications

* feat(txpool): mock test support

* feat(txpool): more mock testing

* chore: rustfmt

* set basefee correctly
2022-10-13 10:44:31 -07:00
577e840062 docs(txpool): update BestTransaction docs (#57) 2022-10-13 10:44:18 -07:00
74b04dc81a refactor(txpool): get rid of block number requirement (#56) 2022-10-12 16:24:19 -07:00
6d4e39deef refactor(txpool): cleanup pass (#53)
* chore: some cleanup

* refactor(txpool): simplify layers and add docs

* refactor: more cleanup

* refactor: cleanup and simplifications
2022-10-12 18:23:08 +02:00
4fb99848fd refactor(txpool): simplify layers and add docs (#52)
* chore: some cleanup

* refactor(txpool): simplify layers and add docs
2022-10-12 17:58:36 +02:00
ae5935e6b2 feat: reth binary and parsing of eth chain tests (#38)
* Scaffolding for reth test binary. wip for blockchain tests

* wip models for chain json tests

* reth binary and chain test

* fmt,clippy

* Update bin/reth/src/lib.rs

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

* Update bin/reth/src/lib.rs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Move JsonU256 to primitives

* fmt

* Use eyre

* nits

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-10-12 17:43:01 +02:00
08d8a7f030 cursor put (#54) 2022-10-12 17:16:59 +02:00
111c13f12f test: more staged sync tests (#49) 2022-10-11 23:04:07 +02:00
bbb46216ea chore: test utils (#48) 2022-10-11 20:09:18 +02:00
5ebfc01338 chore: migrate stages to new db abstractions (#43)
* migrate

* set block as u64

* linter

* BNum -> BlockNumber

* stage id alias
2022-10-11 19:54:05 +02:00
180c768822 docs(txpool): add note for minimal protocol base fee (#47) 2022-10-11 10:14:32 -07:00
0b1c86df30 docs(txpool): add mermaid diagram (#46) 2022-10-11 19:07:16 +02:00
a8c1eaf140 feat: simplified unwind priority (#45) 2022-10-11 18:52:05 +02:00
3fed7cfe21 feat(txpool): new txpool design (#22) 2022-10-11 17:10:02 +02:00
8eb2ea4152 feat(rpc): add rpc-api client feature (#33)
* feat(rpc): add rpc-api client feature

* refactor: combine proc macro

* feat: add missing deserialize functions

* add missing derive
2022-10-11 11:56:12 +02:00
bce14b22ce chore: staged sync cleanup (#34)
* docs: expand on unwinding

* chore: commit inside run_loop / cleanup run

* chore: instrument unwind via span to make more readable

* chore: address review comments
2022-10-10 19:48:20 -07:00
c41c6b99a6 db: supply table as Type not as fn param (#32) 2022-10-10 12:52:42 -07:00
60d3c64410 feat(db): mdbx integration & table skeletons (#15)
* wip

* add table macro

* add simple put get test with Address

* add Env.view and Env.update

* docs

* slightly change the test

* add initial table initialization and placeholders

* lint & some

* replace String with str

* add error.rs

* add docs to encode

* add docs

* clamp

* add source on libmdbx_max_page_size
2022-10-10 12:35:35 -07:00
230e9ef179 feat(p2p): add anchor file for discovery state (#11)
* feat(p2p): add anchor file for discovery state

* move rustdoc and improve error messages

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

* add temp file tests and log drop error

 * fix error due to lack of read option
 * fix empty and nonexistent file error

* remove redundant new

* replace println with tracing

* show underlying error in custom error message

* chore: cargo fmt

* change AsRef<Path> to &Path

* remove ineffective dedups

* chore: cargo fmt

* switch out Vec<Enr<K>> for HashSet<Enr<K>>

* cargo fmt

* use tempdir instead of of std::env::temp_dir

* refactor anchor to contain &Path instead of File

 * change new_from_file to explicitly include logic for opening existing
   files, rather than calling out to from_toml
 * remove from_toml because new_from_file handles existing files
   properly with only a path. It is not possible to obtain a Path from a
   File anyways, its only purpose was to accept a File type

* use PathBuf instead of Path

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-10-10 13:02:54 -04:00
d7c8b70cc3 feat: add eth-wire (#20) 2022-10-10 09:46:02 -07:00
a759201b40 refactor(stages): split Pipeline::run (#30) 2022-10-10 15:52:23 +02:00
72968d758b refactor: pipeline refactor (#23)
* refactor: split stage crate into modules

* refactor: clean up pipeline events

* refactor: internal fn for executing single stage

* refactor: pipeline error

* refactor: move errors to own module

* refactor: misc cleanup

* test: add tests for `opt::max` and `opt::min`

* chore: db errors (#26)

* refactor: replace ext trait with wrapper type

Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
2022-10-10 05:49:45 +02: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
401cd3ec34 chore: clippy (#25) 2022-10-09 10:30:46 +02:00
791ee2839f feat(txpool): initial sketch (#7) 2022-10-07 22:00:19 +02:00
95ed994fd1 Transaction type and some wrap over revm (#19)
* Transaction and wip db binding
* simple revm wrapper
* nits and small sig change
2022-10-07 13:56:11 +02:00
a3a7f1317b feat(primitives): add Chain (#18)
* this is basically the same as in foundry-config
2022-10-06 20:52:19 +02:00
8317cd2b63 chore: use primitives::BlockNumber (#17) 2022-10-06 19:30:32 +02:00
c749658fd4 feat: pipeline loop (#10)
* feat: block number in validation error

* feat: wip pipeline execution and unwind

* chore: clippy

* feat: remove dummy db tx in stages crate

* feat: stage progress saving and loading

* test: wip tests

* feat: basic tracing in pipeline

* feat: pipeline event channel

* test: wip more tests

* test: test unwind during run

* chore: readability shuffle

* chore: incl block number in validation error
2022-10-06 18:24:43 +02:00
074f452275 Small skeleton for executor abstraction (#14) 2022-10-06 16:01:23 +02:00
bc30cbce61 Skeleton primitives and interface crate (#13)
* wip interface primitives

* wip

* Integrate it inside rpc- crates

* fmt

* move tx to mod.rs

* Add interfaces, executor to toml

* Added nits, comments fix
2022-10-06 14:48:57 +02:00
849e8ae518 feat: add db crate (#9) 2022-10-03 16:13:42 +02:00
14d0b6ac4e fix: make everything compile again 2022-10-03 15:36:13 +02:00
9251b286d0 feat: add engine api types and interface 2022-10-03 15:31:08 +02:00
8b7bef4f48 feat: add debug functions 2022-10-03 15:18:22 +02:00
eeda03a3f3 feat: add missing eth_ functions 2022-10-03 15:06:58 +02:00
7c35e68f8e Merge branch 'master' into matt/rpc-support 2022-10-03 14:56:38 +02:00
6868dda544 feat: basic staged sync crate (#6)
* feat: basic staged sync crate

* refactor: rename to `reth-stages`

* feat: remove eyre

* feat: impl `Error` for `StageError`

* chore: bump cargo lock

* chore: nits

* docs: clarify unwind

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-10-03 14:40:50 +02:00
5e0315cce0 move crates into net 2022-10-03 13:40:26 +02:00
ac1ec25435 feat: add rpc types and interface definiton 2022-10-01 19:32:04 +02:00