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
This commit is contained in:
Bjerg
2022-11-15 08:49:11 +01:00
committed by GitHub
parent 651eed1086
commit 92a7818512
48 changed files with 1772 additions and 340 deletions

27
Cargo.lock generated
View File

@@ -3043,6 +3043,21 @@ dependencies = [
"walkdir",
]
[[package]]
name = "reth-bodies-downloaders"
version = "0.1.0"
dependencies = [
"assert_matches",
"futures-util",
"once_cell",
"rand 0.8.5",
"reth-eth-wire",
"reth-interfaces",
"reth-primitives",
"serial_test",
"tokio",
]
[[package]]
name = "reth-codecs"
version = "0.1.0"
@@ -3057,16 +3072,11 @@ dependencies = [
"async-trait",
"auto_impl",
"eyre",
"hash-db",
"plain_hasher",
"reth-interfaces",
"reth-primitives",
"reth-rlp",
"rlp",
"sha3",
"thiserror",
"tokio",
"triehash",
]
[[package]]
@@ -3225,6 +3235,7 @@ dependencies = [
"rand 0.8.5",
"reth-codecs",
"reth-db",
"reth-eth-wire",
"reth-primitives",
"reth-rpc-types",
"serde",
@@ -3332,10 +3343,12 @@ dependencies = [
"crc",
"derive_more",
"ethers-core",
"hash-db",
"hex",
"hex-literal",
"maplit",
"parity-scale-codec",
"plain_hasher",
"reth-codecs",
"reth-rlp",
"secp256k1",
@@ -3344,6 +3357,7 @@ dependencies = [
"sucds",
"thiserror",
"tiny-keccak",
"triehash",
]
[[package]]
@@ -3416,9 +3430,12 @@ dependencies = [
"aquamarine",
"assert_matches",
"async-trait",
"futures-util",
"metrics",
"rand 0.8.5",
"reth-bodies-downloaders",
"reth-db",
"reth-eth-wire",
"reth-headers-downloaders",
"reth-interfaces",
"reth-primitives",