Commit Graph

41 Commits

Author SHA1 Message Date
28f5118048 chore: update dependencies with breaking changes (#4555) 2023-09-11 14:53:09 +00:00
d643d03030 Move parking_lot dependency to workspace dep (#4228) 2023-08-16 13:32:42 +00:00
443383b307 chore: make txpool cargo test compile (#4058) 2023-08-04 20:14:40 +02:00
8cdb097829 chore: simplify workspace = true usage (#3930) 2023-07-26 15:21:09 +00:00
770652a787 feat(bin, storage): configurable MDBX log level (#3524)
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-07-03 12:45:32 +00:00
dc74fad816 test: add support for seeded rng (#3270) 2023-06-21 21:35:28 +00:00
77167134d0 docs: document crate features (#3269) 2023-06-21 19:35:38 +00:00
7ab8a7f3ec chore: use workspace version (#3240) 2023-06-19 17:29:15 +00:00
ea2fcee995 chore: use workspace dependencies (#3132) 2023-06-13 22:46:26 +00:00
df9dfa6b6f chore(deps): use revm and revm-primitives as workspace deps (#3017) 2023-06-06 11:47:55 +00:00
171166e84a chore: add msrv to manifests, add and use workspace.package (#3006) 2023-06-06 03:45:44 +00:00
ae2b0954c6 perf: do not compile traces in release mode (#2652) 2023-05-15 17:06:10 -07:00
64250b3b07 feat: add fullblock client (#2613) 2023-05-09 16:46:17 +02:00
a40f3d775c chore(deps): bump enr + secp256k1 (#2443) 2023-04-28 11:05:00 -07:00
77a41e5edf feat: emit new block events in --auto-mine (#2079)
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
2023-04-05 14:16:03 +02:00
89c525f9c9 chore: bump revm to v3.1.0 (#2113) 2023-04-04 16:50:09 +02:00
15d79cedad chore(deps): upgrade secp256k1+enr (#1715) 2023-03-15 11:15:55 +01:00
2884eae075 perf: bench merkle stage (#1497) 2023-02-28 23:20:00 -07:00
7a01e1e231 feat: add eth state cache (#1561) 2023-02-28 20:46:25 +01:00
f979c6c1fb chore: reexport bytes & bump version to 1.4 (#1395) 2023-02-16 10:33:28 -08:00
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
1d1d90bd19 feat: optional serde features (#1214)
Co-authored-by: lambdaclass-user <github@lambdaclass.com>
2023-02-07 15:52:32 -08:00
e048718ea2 refactor: pull out rpc/ from net/rpc (#1147) 2023-02-02 14:17:26 -08:00
a331b54bb0 Create Network variant in reth_interfaces::Error (#950) 2023-01-22 20:59:50 +01:00
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
c2719ec27e chore(deps): bump secp256k1 from 0.24.1 to 0.24.2 (#440)
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases)
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.24.2/CHANGELOG.md)
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.1...secp256k1-0.24.2)

---
updated-dependencies:
- dependency-name: secp256k1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:40:16 +02:00
1e38ffa5ad feat(eth-wire): fuzzing wire encoding roundtrip (#350)
* move hello to separate file

* cargo fmt

* wip: actual fuzz test

 * should probably also take advantage of test-fuzz to generate
   benchmarks like impl_fuzzer_with_input

* impl generic roundtrip method

* generate test with macro

* change testname to fuzzname

* add reth-eth-wire to fuzz in ci

* add other message types to fuzz

* remove unused_crate_dependencies

 * was causing test issues, may want to revisit whether or not we can
   include this warning and still use test_fuzz

* more afl debugging ci

* use more explicit imports in fuzz_rlp

* impl Default for types and fuzz ping/pong

 * Default is necessary for test-fuzz to auto generate a corpus for each
   type we are fuzz testing

* enable AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES

 * not sure if we should do this in the workflow instead:
   echo core >/proc/sys/kernel/core_pattern

   we may miss crashes if we keep this enabled?

* remove reth-interfaces from fuzzing

* add secp256k1 to reth-db dev deps
2022-12-13 19:10:52 +02:00
e014eaad33 feat(db): Refactor storage libraries (#371) 2022-12-09 23:14:07 -08:00
4d718bbf33 s/foundry-rs/paradigmxyz 2022-12-07 00:00:45 -08:00
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
027fc2bbf2 feat(db): derive Compact codec (#177) 2022-11-22 20:46:45 -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
699db03187 feat(db): db error handling and Provider scaffolding (#154)
* feat(db): db error handling and Provider scaffolding
* remove one map_err
* fix after merge
2022-11-03 17:00:58 +01:00
ee41dfac35 feat(db): set-upChangeSet tables (#135)
* add AccountChangeSet

* add StorageChangeSet

* add tests to TxNumberAddress

* minor fixes
2022-10-25 03:47:45 -07:00
2a8189d7c9 chore(db): Add tests and fuzz target to BlockNumHash (#130)
* add tests and fuzz target for BlockNumHash

* use block 1 for test_block_num_hash

* new clippy stds

* fmt
2022-10-25 01:23:10 -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
a4e505132c headers(part1) feat(interfaces): introduce implicit trait bounds (#117)
* feat(ifaces): modify DB GAT to have implicit bounds

https://sabrinajewson.org/blog/the-better-alternative-to-lifetime-gats\#the-better-gats

* test(ifaces): impl new trait for mock

* feat(ifaces): impl db container

we use that downstream to avoid consuming the db transactions
when committing a stage

* fix(test): explicitly define lifetime

* test: ensure can spawn

* test: pls review

* chore: lints/warnings

* feat(db): impl the new gats

* test(db): try to make real db work with gats like in stages

* test(db): make Stage trait take DBContainer

otherwise we cannot call db.commit()
gst

* feat(stages): impl new traits

* chore(db): cleanup tests

* chore: remove unused imports
2022-10-23 23:10:59 -07:00
483bcdf9ab feat(db): Database Abstraction (#101)
* database tx traits

* wip build passes

* Db and tx results

* nightly and db GAT

* Impl tx, wip cursor

* Move Decode to Table Key, working cursor trait

* wip dupsort

* build all Cursor abstraction

* cleanup

* wip cleanup

* old stages

* codecs moved o interface,stages wip

* resolve db ref, it builds

* Add tx commit after execution

* fmt

* Remove sync send restriction

* Add missing rw cursor functions

* Cleanup, added missing cursor fn. rust toolchain

* fmt

* add nightly to ci

* deny dead_code, remove unwrap

* rm printfn, stages fix, bench fix
2022-10-20 08:32:13 -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
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