chore: add msrv to manifests, add and use workspace.package (#3006)

This commit is contained in:
DaniPopes
2023-06-06 05:45:44 +02:00
committed by GitHub
parent adf4328cec
commit 171166e84a
48 changed files with 306 additions and 300 deletions

1
.clippy.toml Normal file
View File

@ -0,0 +1 @@
msrv = "1.70"

View File

@ -43,7 +43,7 @@ members = [
"crates/tasks", "crates/tasks",
"crates/transaction-pool", "crates/transaction-pool",
"crates/trie", "crates/trie",
"testing/ef-tests" "testing/ef-tests",
] ]
default-members = ["bin/reth"] default-members = ["bin/reth"]
@ -51,6 +51,13 @@ default-members = ["bin/reth"]
# https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html # https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
resolver = "2" resolver = "2"
[workspace.package]
edition = "2021"
rust-version = "1.70" # Remember to update .clippy.toml and README.md
license = "MIT OR Apache-2.0"
homepage = "https://paradigmxyz.github.io/reth"
repository = "https://github.com/paradigmxyz/reth"
# Like release, but with full debug symbols. Useful for e.g. `perf`. # Like release, but with full debug symbols. Useful for e.g. `perf`.
[profile.debug-fast] [profile.debug-fast]
inherits = "release" inherits = "release"
@ -66,6 +73,5 @@ incremental = false
# patched for quantity U256 responses <https://github.com/recmo/uint/issues/224> # patched for quantity U256 responses <https://github.com/recmo/uint/issues/224>
ruint = { git = "https://github.com/paradigmxyz/uint" } ruint = { git = "https://github.com/paradigmxyz/uint" }
[workspace.dependencies] [workspace.dependencies]
tracing = "^0.1.0" tracing = "^0.1.0"

View File

@ -23,6 +23,7 @@ Reth (short for Rust Ethereum, [pronunciation](https://twitter.com/kelvinfichter
As a full Ethereum node, Reth allows users to connect to the Ethereum network and interact with the Ethereum blockchain. This includes sending and receiving transactions/logs/traces, as well as accessing and interacting with smart contracts. Building a successful Ethereum node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software. As a full Ethereum node, Reth allows users to connect to the Ethereum network and interact with the Ethereum blockchain. This includes sending and receiving transactions/logs/traces, as well as accessing and interacting with smart contracts. Building a successful Ethereum node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software.
More concretely, our goals are: More concretely, our goals are:
1. **Modularity**: Every component of Reth is built to be used as a library: well-tested, heavily documented and benchmarked. We envision that developers will import the node's crates, mix and match, and innovate on top of them. Examples of such usage include but are not limited to spinning up standalone P2P networks, talking directly to a node's database, or "unbundling" the node into the components you need. To achieve that, we are licensing Reth under the Apache/MIT permissive license. You can learn more about the project's components [here](./docs/repo/layout.md). 1. **Modularity**: Every component of Reth is built to be used as a library: well-tested, heavily documented and benchmarked. We envision that developers will import the node's crates, mix and match, and innovate on top of them. Examples of such usage include but are not limited to spinning up standalone P2P networks, talking directly to a node's database, or "unbundling" the node into the components you need. To achieve that, we are licensing Reth under the Apache/MIT permissive license. You can learn more about the project's components [here](./docs/repo/layout.md).
2. **Performance**: Reth aims to be fast, so we used Rust and the [Erigon staged-sync](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) node architecture. We also use our Ethereum libraries (including [ethers-rs](https://github.com/gakonst/ethers-rs/) and [revm](https://github.com/bluealloy/revm/)) which weve battle-tested and optimized via [Foundry](https://github.com/foundry-rs/foundry/). 2. **Performance**: Reth aims to be fast, so we used Rust and the [Erigon staged-sync](https://erigon.substack.com/p/erigon-stage-sync-and-control-flows) node architecture. We also use our Ethereum libraries (including [ethers-rs](https://github.com/gakonst/ethers-rs/) and [revm](https://github.com/bluealloy/revm/)) which weve battle-tested and optimized via [Foundry](https://github.com/foundry-rs/foundry/).
3. **Free for anyone to use any way they want**: Reth is free open source software, built for the community, by the community. By licensing the software under the Apache/MIT license, we want developers to use it without being bound by business licenses, or having to think about the implications of GPL-like licenses. 3. **Free for anyone to use any way they want**: Reth is free open source software, built for the community, by the community. By licensing the software under the Apache/MIT license, we want developers to use it without being bound by business licenses, or having to think about the implications of GPL-like licenses.
@ -30,7 +31,6 @@ More concretely, our goals are:
5. **Support as many EVM chains as possible**: We aspire that Reth can full-sync not only Ethereum, but also other chains like Optimism, Polygon, BNB Smart Chain, and more. If you're working on any of these projects, please reach out. 5. **Support as many EVM chains as possible**: We aspire that Reth can full-sync not only Ethereum, but also other chains like Optimism, Polygon, BNB Smart Chain, and more. If you're working on any of these projects, please reach out.
6. **Configurability**: We want to solve for node operators that care about fast historical queries, but also for hobbyists who cannot operate on large hardware. We also want to support teams and individuals who want both sync from genesis and via "fast sync". We envision that Reth will be configurable enough and provide configurable "profiles" for the tradeoffs that each team faces. 6. **Configurability**: We want to solve for node operators that care about fast historical queries, but also for hobbyists who cannot operate on large hardware. We also want to support teams and individuals who want both sync from genesis and via "fast sync". We envision that Reth will be configurable enough and provide configurable "profiles" for the tradeoffs that each team faces.
## Status ## Status
The project is not ready for use. We hope to have full sync implemented sometime in Q1 2023, followed by optimizations. In the meantime, we're working on making sure every crate of the repository is well documented, abstracted and tested. The project is not ready for use. We hope to have full sync implemented sometime in Q1 2023, followed by optimizations. In the meantime, we're working on making sure every crate of the repository is well documented, abstracted and tested.
@ -43,9 +43,9 @@ See the [Reth Book](https://paradigmxyz.github.io/reth) for instructions on how
### Build & Test ### Build & Test
Rust minimum required version to build this project is 1.70.0 published 01.06.2023. The Minimum Supported Rust Version (MSRV) of this project is [1.70.0](https://blog.rust-lang.org/2023/06/01/Rust-1.70.0.html).
See the book for detailed instructions on how to build from [source](https://paradigmxyz.github.io/reth/installation/source.html). See the book for detailed instructions on how to [build from source](https://paradigmxyz.github.io/reth/installation/source.html).
To fully test Reth, you will need to have [Geth installed](https://geth.ethereum.org/docs/getting-started/installing-geth), but it is possible to run a subset of tests without Geth. To fully test Reth, you will need to have [Geth installed](https://geth.ethereum.org/docs/getting-started/installing-geth), but it is possible to run a subset of tests without Geth.
@ -60,10 +60,10 @@ Next, run the tests:
```sh ```sh
# Without Geth # Without Geth
cargo test --all cargo test --workspace
# With Geth # With Geth
cargo test --all --features geth-tests cargo test --workspace --features geth-tests
``` ```
We recommend using [`cargo nextest`](https://nexte.st/) to speed up testing. With nextest installed, simply substitute `cargo test` with `cargo nextest run`. We recommend using [`cargo nextest`](https://nexte.st/) to speed up testing. With nextest installed, simply substitute `cargo test` with `cargo nextest run`.

View File

@ -1,11 +1,11 @@
[package] [package]
name = "reth" name = "reth"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
build = "build.rs" repository.workspace = true
[dependencies] [dependencies]
# reth # reth
@ -17,7 +17,7 @@ reth-provider = { path = "../../crates/storage/provider", features = ["test-util
reth-revm = { path = "../../crates/revm" } reth-revm = { path = "../../crates/revm" }
reth-revm-inspectors = { path = "../../crates/revm/revm-inspectors" } reth-revm-inspectors = { path = "../../crates/revm/revm-inspectors" }
reth-staged-sync = { path = "../../crates/staged-sync" } reth-staged-sync = { path = "../../crates/staged-sync" }
reth-stages = { path = "../../crates/stages"} reth-stages = { path = "../../crates/stages" }
reth-interfaces = { path = "../../crates/interfaces", features = ["test-utils"] } reth-interfaces = { path = "../../crates/interfaces", features = ["test-utils"] }
reth-transaction-pool = { path = "../../crates/transaction-pool" } reth-transaction-pool = { path = "../../crates/transaction-pool" }
reth-beacon-consensus = { path = "../../crates/consensus/beacon" } reth-beacon-consensus = { path = "../../crates/consensus/beacon" }
@ -40,11 +40,7 @@ reth-metrics = { path = "../../crates/metrics" }
jemallocator = { version = "0.5.0", optional = true } jemallocator = { version = "0.5.0", optional = true }
# crypto # crypto
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery",
] }
# tracing # tracing
tracing = { workspace = true } tracing = { workspace = true }
@ -56,7 +52,7 @@ serde_json = "1.0"
shellexpand = "3.0.0" shellexpand = "3.0.0"
dirs-next = "2.0.0" dirs-next = "2.0.0"
confy = "0.5" confy = "0.5"
toml = {version = "0.7", features = ["display"]} toml = { version = "0.7", features = ["display"] }
# metrics # metrics
metrics-exporter-prometheus = "0.11.0" metrics-exporter-prometheus = "0.11.0"

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-blockchain-tree" name = "reth-blockchain-tree"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
normal = [ normal = [
@ -19,9 +20,8 @@ reth-interfaces = { path = "../interfaces" }
reth-db = { path = "../storage/db" } reth-db = { path = "../storage/db" }
reth-provider = { path = "../storage/provider" } reth-provider = { path = "../storage/provider" }
# common # common
parking_lot = { version = "0.12"} parking_lot = { version = "0.12" }
lru = "0.10" lru = "0.10"
tracing = { workspace = true } tracing = { workspace = true }
@ -29,12 +29,11 @@ tracing = { workspace = true }
aquamarine = "0.3.0" aquamarine = "0.3.0"
linked_hash_set = "0.1.4" linked_hash_set = "0.1.4"
[dev-dependencies] [dev-dependencies]
reth-db = { path = "../storage/db", features = ["test-utils"] } reth-db = { path = "../storage/db", features = ["test-utils"] }
reth-interfaces = { path = "../interfaces", features = ["test-utils"] } reth-interfaces = { path = "../interfaces", features = ["test-utils"] }
reth-primitives = { path = "../primitives", features = ["test-utils"] } reth-primitives = { path = "../primitives", features = ["test-utils"] }
reth-provider = { path = "../storage/provider", features = ["test-utils"] } reth-provider = { path = "../storage/provider", features = ["test-utils"] }
parking_lot = "0.12" parking_lot = "0.12"
assert_matches = "1.5" assert_matches = "1.5"
tokio = { version = "1", features = ["macros", "sync"] } tokio = { version = "1", features = ["macros", "sync"] }

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-config" name = "reth-config"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
# reth # reth
@ -18,13 +19,8 @@ serde = "1.0"
serde_json = "1.0.91" serde_json = "1.0.91"
#crypto #crypto
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery",
] }
confy = "0.5" confy = "0.5"
tempfile = "3.4" tempfile = "3.4"

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-auto-seal-consensus" name = "reth-auto-seal-consensus"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "A consensus impl for local testing purposes" description = "A consensus impl for local testing purposes"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-beacon-consensus" name = "reth-beacon-consensus"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
# reth # reth

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-consensus-common" name = "reth-consensus-common"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
# reth # reth
@ -12,7 +13,6 @@ reth-primitives = { path = "../../primitives" }
reth-interfaces = { path = "../../interfaces" } reth-interfaces = { path = "../../interfaces" }
reth-provider = { path = "../../storage/provider" } reth-provider = { path = "../../storage/provider" }
[dev-dependencies] [dev-dependencies]
reth-interfaces = { path = "../../interfaces", features = ["test-utils"] } reth-interfaces = { path = "../../interfaces", features = ["test-utils"] }
reth-provider = { path = "../../storage/provider", features = ["test-utils"] } reth-provider = { path = "../../storage/provider", features = ["test-utils"] }

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-interfaces" name = "reth-interfaces"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
reth-codecs = { path = "../storage/codecs" } reth-codecs = { path = "../storage/codecs" }

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-metrics" name = "reth-metrics"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "reth metrics utilities" description = "reth metrics utilities"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-metrics-derive" name = "reth-metrics-derive"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[lib] [lib]
proc-macro = true proc-macro = true

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-net-common" name = "reth-net-common"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = """ description = """
Types shared across network code Types shared across network code
""" """

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-discv4" name = "reth-discv4"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Ethereum network discovery Ethereum network discovery
""" """
@ -19,15 +20,8 @@ reth-net-nat = { path = "../nat" }
# ethereum # ethereum
discv5 = { git = "https://github.com/sigp/discv5" } discv5 = { git = "https://github.com/sigp/discv5" }
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery", "serde"] }
"global-context", enr = { version = "0.8.1", default-features = false, features = ["rust-secp256k1"] }
"rand-std",
"recovery",
"serde"
] }
enr = { version = "0.8.1", default-features = false, features = [
"rust-secp256k1",
] }
# async/futures # async/futures
tokio = { version = "1", features = ["io-util", "net", "time"] } tokio = { version = "1", features = ["io-util", "net", "time"] }

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-dns-discovery" name = "reth-dns-discovery"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Support for EIP-1459 Node Discovery via DNS" description = "Support for EIP-1459 Node Discovery via DNS"
[dependencies] [dependencies]
@ -14,12 +15,7 @@ reth-net-common = { path = "../common" }
reth-rlp = { path = "../../rlp" } reth-rlp = { path = "../../rlp" }
# ethereum # ethereum
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery", "serde"] }
"global-context",
"rand-std",
"recovery",
"serde"
] }
enr = { version = "0.8.1", default-features = false, features = ["rust-secp256k1"] } enr = { version = "0.8.1", default-features = false, features = ["rust-secp256k1"] }
# async/futures # async/futures

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-downloaders" name = "reth-downloaders"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Implementations of various block downloaders" description = "Implementations of various block downloaders"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-ecies" name = "reth-ecies"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
reth-rlp = { path = "../../rlp", features = ["derive", "ethereum-types", "std"] } reth-rlp = { path = "../../rlp", features = ["derive", "ethereum-types", "std"] }

View File

@ -2,10 +2,11 @@
name = "reth-eth-wire" name = "reth-eth-wire"
description = "Implements the eth/64 and eth/65 P2P protocols" description = "Implements the eth/64 and eth/65 P2P protocols"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
bytes = "1.4" bytes = "1.4"
@ -16,11 +17,17 @@ serde = { version = "1", optional = true }
reth-codecs = { path = "../../storage/codecs" } reth-codecs = { path = "../../storage/codecs" }
reth-primitives = { path = "../../primitives" } reth-primitives = { path = "../../primitives" }
reth-ecies = { path = "../ecies" } reth-ecies = { path = "../ecies" }
reth-rlp = { path = "../../rlp", features = ["alloc", "derive", "std", "ethereum-types", "smol_str"] } reth-rlp = { path = "../../rlp", features = [
"alloc",
"derive",
"std",
"ethereum-types",
"smol_str",
] }
reth-metrics = { path = "../../metrics" } reth-metrics = { path = "../../metrics" }
# used for Chain and builders # used for Chain and builders
ethers-core = { version = "2.0.7", default-features = false} ethers-core = { version = "2.0.7", default-features = false }
tokio = { version = "1.21.2", features = ["full"] } tokio = { version = "1.21.2", features = ["full"] }
tokio-util = { version = "0.7.4", features = ["io", "codec"] } tokio-util = { version = "0.7.4", features = ["io", "codec"] }
@ -40,7 +47,7 @@ proptest-derive = { version = "0.3", optional = true }
[dev-dependencies] [dev-dependencies]
reth-primitives = { path = "../../primitives", features = ["arbitrary"] } reth-primitives = { path = "../../primitives", features = ["arbitrary"] }
reth-tracing = { path = "../../tracing" } reth-tracing = { path = "../../tracing" }
ethers-core = { version = "2.0.7", default-features = false} ethers-core = { version = "2.0.7", default-features = false }
test-fuzz = "3.0.4" test-fuzz = "3.0.4"
tokio-util = { version = "0.7.4", features = ["io", "codec"] } tokio-util = { version = "0.7.4", features = ["io", "codec"] }

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-net-nat" name = "reth-net-nat"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = """ description = """
Helpers for working around NAT Helpers for working around NAT
""" """
@ -13,10 +15,7 @@ Helpers for working around NAT
# nat # nat
public-ip = "0.2" public-ip = "0.2"
## fork of rust-igd with ipv6 support: https://github.com/sbstp/rust-igd/issues/47 ## fork of rust-igd with ipv6 support: https://github.com/sbstp/rust-igd/issues/47
igd = { git = "https://github.com/stevefan1999-personal/rust-igd", features = [ igd = { git = "https://github.com/stevefan1999-personal/rust-igd", features = ["aio", "tokio1"] }
"aio",
"tokio1",
] }
# misc # misc
tracing = { workspace = true } tracing = { workspace = true }

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-network-api" name = "reth-network-api"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Network interfaces" description = "Network interfaces"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-network" name = "reth-network"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Ethereum network support Ethereum network support
""" """
@ -12,7 +13,7 @@ Ethereum network support
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
normal = [ normal = [
# Used for diagrams in docs # Used for diagrams in docs
"aquamarine" "aquamarine",
] ]
[dependencies] [dependencies]
@ -29,7 +30,7 @@ reth-rlp = { path = "../../rlp" }
reth-rlp-derive = { path = "../../rlp/rlp-derive" } reth-rlp-derive = { path = "../../rlp/rlp-derive" }
reth-tasks = { path = "../../tasks" } reth-tasks = { path = "../../tasks" }
reth-transaction-pool = { path = "../../transaction-pool" } reth-transaction-pool = { path = "../../transaction-pool" }
reth-provider = { path = "../../storage/provider"} reth-provider = { path = "../../storage/provider" }
reth-metrics = { path = "../../metrics", features = ["common"] } reth-metrics = { path = "../../metrics", features = ["common"] }
reth-rpc-types = { path = "../../rpc/rpc-types" } reth-rpc-types = { path = "../../rpc/rpc-types" }
@ -56,11 +57,7 @@ async-trait = "0.1"
linked_hash_set = "0.1" linked_hash_set = "0.1"
linked-hash-map = "0.5.6" linked-hash-map = "0.5.6"
rand = "0.8" rand = "0.8"
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery",
] }
enr = { version = "0.8.1", features = ["rust-secp256k1"], optional = true } enr = { version = "0.8.1", features = ["rust-secp256k1"], optional = true }
ethers-core = { version = "2.0.7", default-features = false, optional = true } ethers-core = { version = "2.0.7", default-features = false, optional = true }
@ -79,10 +76,10 @@ reth-provider = { path = "../../storage/provider", features = ["test-utils"] }
reth-tracing = { path = "../../tracing" } reth-tracing = { path = "../../tracing" }
reth-transaction-pool = { path = "../../transaction-pool", features = ["test-utils"] } reth-transaction-pool = { path = "../../transaction-pool", features = ["test-utils"] }
ethers-core = { version = "2.0.7", default-features = false} ethers-core = { version = "2.0.7", default-features = false }
ethers-providers = {version = "2.0.7", default-features = false } ethers-providers = { version = "2.0.7", default-features = false }
ethers-signers = {version = "2.0.7", default-features = false } ethers-signers = { version = "2.0.7", default-features = false }
ethers-middleware = {version = "2.0.7", default-features = false } ethers-middleware = { version = "2.0.7", default-features = false }
enr = { version = "0.8.1", features = ["serde", "rust-secp256k1"] } enr = { version = "0.8.1", features = ["serde", "rust-secp256k1"] }
@ -95,4 +92,4 @@ serial_test = "0.10"
default = ["serde"] default = ["serde"]
serde = ["dep:serde", "dep:humantime-serde", "secp256k1/serde", "enr?/serde", "dep:serde_json"] serde = ["dep:serde", "dep:humantime-serde", "secp256k1/serde", "enr?/serde", "dep:serde_json"]
test-utils = ["reth-provider/test-utils", "dep:enr", "dep:ethers-core", "dep:tempfile"] test-utils = ["reth-provider/test-utils", "dep:enr", "dep:ethers-core", "dep:tempfile"]
geth-tests = [] geth-tests = []

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-basic-payload-builder" name = "reth-basic-payload-builder"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "A basic payload builder for reth that uses the txpool API to build payloads." description = "A basic payload builder for reth that uses the txpool API to build payloads."
[dependencies] [dependencies]
@ -27,4 +28,4 @@ futures-core = "0.3"
futures-util = "0.3" futures-util = "0.3"
## misc ## misc
tracing = { workspace = true } tracing = { workspace = true }

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-payload-builder" name = "reth-payload-builder"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "reth payload builder" description = "reth payload builder"
[dependencies] [dependencies]
@ -30,6 +31,5 @@ sha2 = { version = "0.10", default-features = false }
tracing = { workspace = true } tracing = { workspace = true }
hashbrown = "0.13" hashbrown = "0.13"
[features] [features]
test-utils = [] test-utils = []

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-primitives" name = "reth-primitives"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Commonly used types in reth." description = "Commonly used types in reth."
[dependencies] [dependencies]
@ -22,9 +23,7 @@ crunchy = { version = "0.2.2", default-features = false, features = ["limit_256"
ruint = { version = "1.7.0", features = ["primitive-types", "rlp"] } ruint = { version = "1.7.0", features = ["primitive-types", "rlp"] }
# Bloom # Bloom
fixed-hash = { version = "0.8", default-features = false, features = [ fixed-hash = { version = "0.8", default-features = false, features = ["rustc-hex"] }
"rustc-hex",
] }
# crypto # crypto
secp256k1 = { version = "0.27.0", default-features = false, features = [ secp256k1 = { version = "0.27.0", default-features = false, features = [
@ -85,20 +84,11 @@ proptest-derive = "0.3"
# https://github.com/paradigmxyz/reth/pull/177#discussion_r1021172198 # https://github.com/paradigmxyz/reth/pull/177#discussion_r1021172198
secp256k1 = "0.27.0" secp256k1 = "0.27.0"
criterion = "0.4.0" criterion = "0.4.0"
pprof = { version = "0.11", features = [ pprof = { version = "0.11", features = ["flamegraph", "frame-pointer", "criterion"] }
"flamegraph",
"frame-pointer",
"criterion",
] }
[features] [features]
default = [] default = []
arbitrary = [ arbitrary = ["revm-primitives/arbitrary", "dep:arbitrary", "dep:proptest", "dep:proptest-derive"]
"revm-primitives/arbitrary",
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
]
test-utils = [] test-utils = []
[[bench]] [[bench]]

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-revm" name = "reth-revm"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "reth specific revm utilities" description = "reth specific revm utilities"
[dependencies] [dependencies]

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-revm-inspectors" name = "reth-revm-inspectors"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "revm inspector implementations used by reth" description = "revm inspector implementations used by reth"
[dependencies] [dependencies]
@ -15,4 +17,4 @@ revm = { version = "3" }
# remove from reth and reexport from revm # remove from reth and reexport from revm
hashbrown = "0.13" hashbrown = "0.13"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-revm-primitives" name = "reth-revm-primitives"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "core reth specific revm utilities" description = "core reth specific revm utilities"
[dependencies] [dependencies]

View File

@ -1,10 +1,12 @@
[package] [package]
name = "reth-rlp" name = "reth-rlp"
version = "0.1.2" version = "0.1.2"
edition = "2021" edition.workspace = true
rust-version.workspace = true
license = "Apache-2.0" license = "Apache-2.0"
description = "Fast RLP serialization library" description = "Fast RLP serialization library"
repository = "https://github.com/paradigmxyz/reth" homepage.workspace = true
repository.workspace = true
[dependencies] [dependencies]
arrayvec = { version = "0.7", default-features = false } arrayvec = { version = "0.7", default-features = false }
@ -22,7 +24,7 @@ reth-rlp = { path = ".", package = "reth-rlp", features = [
"std", "std",
"ethnum", "ethnum",
"ethereum-types", "ethereum-types",
"smol_str" "smol_str",
] } ] }
criterion = "0.4.0" criterion = "0.4.0"
hex-literal = "0.3" hex-literal = "0.3"

View File

@ -2,9 +2,11 @@
name = "reth-rlp-derive" name = "reth-rlp-derive"
version = "0.1.1" version = "0.1.1"
license = "Apache-2.0" license = "Apache-2.0"
edition = "2021" edition.workspace = true
rust-version.workspace = true
description = "Procedural macros for reth-rlp" description = "Procedural macros for reth-rlp"
repository = "https://github.com/paradigmxyz/reth" homepage.workspace = true
repository.workspace = true
[lib] [lib]
proc-macro = true proc-macro = true

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-ipc" name = "reth-ipc"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
IPC support for reth IPC support for reth
""" """

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-rpc-api" name = "reth-rpc-api"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Reth RPC interfaces Reth RPC interfaces
""" """

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-rpc-builder" name = "reth-rpc-builder"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Helpers for configuring RPC" description = "Helpers for configuring RPC"
[dependencies] [dependencies]

View File

@ -1,9 +1,11 @@
[package] [package]
name = "reth-rpc-engine-api" name = "reth-rpc-engine-api"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Implementation of Engine API" description = "Implementation of Engine API"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-rpc-types" name = "reth-rpc-types"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Reth RPC types Reth RPC types
""" """
@ -32,4 +33,4 @@ reth-interfaces = { path = "../../interfaces", features = ["test-utils"] }
# misc # misc
rand = "0.8" rand = "0.8"
assert_matches = "1.5" assert_matches = "1.5"

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-rpc" name = "reth-rpc"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Reth RPC implementation Reth RPC implementation
""" """
@ -16,20 +17,21 @@ reth-rpc-api = { path = "../rpc-api" }
reth-rlp = { path = "../../rlp" } reth-rlp = { path = "../../rlp" }
reth-rpc-types = { path = "../rpc-types" } reth-rpc-types = { path = "../rpc-types" }
reth-provider = { path = "../../storage/provider", features = ["test-utils"] } reth-provider = { path = "../../storage/provider", features = ["test-utils"] }
reth-transaction-pool = { path = "../../transaction-pool", features = [ reth-transaction-pool = { path = "../../transaction-pool", features = ["test-utils"] }
"test-utils",
] }
reth-network-api = { path = "../../net/network-api", features = ["test-utils"] } reth-network-api = { path = "../../net/network-api", features = ["test-utils"] }
reth-rpc-engine-api = { path = "../rpc-engine-api" } reth-rpc-engine-api = { path = "../rpc-engine-api" }
reth-revm = { path = "../../revm" } reth-revm = { path = "../../revm" }
reth-tasks = { path = "../../tasks" } reth-tasks = { path = "../../tasks" }
# eth # eth
revm = { version = "3", features = ["optional_block_gas_limit", "optional_eip3607", "optional_no_base_fee"] } revm = { version = "3", features = [
ethers-core = { version = "2.0.7", features = ["eip712"]} "optional_block_gas_limit",
"optional_eip3607",
"optional_no_base_fee",
] }
ethers-core = { version = "2.0.7", features = ["eip712"] }
revm-primitives = { version = "1.1", features = ["serde"] } revm-primitives = { version = "1.1", features = ["serde"] }
# rpc # rpc
jsonrpsee = { version = "0.18" } jsonrpsee = { version = "0.18" }
http = "0.2.8" http = "0.2.8"
@ -46,11 +48,7 @@ tokio-util = "0.7"
pin-project = "1.0" pin-project = "1.0"
bytes = "1.4" bytes = "1.4"
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery"
] }
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"
thiserror = "1.0" thiserror = "1.0"

View File

@ -1,15 +1,16 @@
[package] [package]
name = "reth-staged-sync" name = "reth-staged-sync"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Puts together all the Reth stages in a unified abstraction" description = "Puts together all the Reth stages in a unified abstraction"
[dependencies] [dependencies]
# reth # reth
reth-db = {path = "../../crates/storage/db", features = ["mdbx", "test-utils"] } reth-db = { path = "../../crates/storage/db", features = ["mdbx", "test-utils"] }
reth-discv4 = { path = "../../crates/net/discv4" } reth-discv4 = { path = "../../crates/net/discv4" }
reth-network-api = { path = "../../crates/net/network-api" } reth-network-api = { path = "../../crates/net/network-api" }
reth-network = { path = "../../crates/net/network", features = ["serde"] } reth-network = { path = "../../crates/net/network", features = ["serde"] }
@ -31,11 +32,7 @@ tracing = { workspace = true }
# crypto # crypto
rand = { version = "0.8", optional = true } rand = { version = "0.8", optional = true }
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery",
] }
# errors # errors
thiserror = "1" thiserror = "1"
@ -44,14 +41,22 @@ thiserror = "1"
enr = { version = "0.8.1", features = ["serde", "rust-secp256k1"], optional = true } enr = { version = "0.8.1", features = ["serde", "rust-secp256k1"], optional = true }
# ethers # ethers
ethers-core = { version = "2.0.7", default-features = false, optional = true} ethers-core = { version = "2.0.7", default-features = false, optional = true }
ethers-providers = { version = "2.0.7", features = ["ws"], default-features = false, optional = true } ethers-providers = { version = "2.0.7", features = [
"ws",
], default-features = false, optional = true }
ethers-middleware = { version = "2.0.7", default-features = false, optional = true } ethers-middleware = { version = "2.0.7", default-features = false, optional = true }
ethers-signers = { version = "2.0.7", default-features = false, optional = true } ethers-signers = { version = "2.0.7", default-features = false, optional = true }
# async / futures # async / futures
async-trait = { version = "0.1", optional = true } async-trait = { version = "0.1", optional = true }
tokio = { version = "1", features = ["io-util", "net", "macros", "rt-multi-thread", "time"], optional = true } tokio = { version = "1", features = [
"io-util",
"net",
"macros",
"rt-multi-thread",
"time",
], optional = true }
# misc # misc
hex = { version = "0.4", optional = true } hex = { version = "0.4", optional = true }
@ -70,11 +75,7 @@ futures = "0.3"
tokio = { version = "1", features = ["io-util", "net", "macros", "rt-multi-thread", "time"] } tokio = { version = "1", features = ["io-util", "net", "macros", "rt-multi-thread", "time"] }
# crypto # crypto
secp256k1 = { version = "0.27.0", features = [ secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std", "recovery"] }
"global-context",
"rand-std",
"recovery",
] }
confy = "0.5" confy = "0.5"
@ -93,6 +94,6 @@ test-utils = [
"dep:ethers-signers", "dep:ethers-signers",
"dep:ethers-providers", "dep:ethers-providers",
"dep:ethers-middleware", "dep:ethers-middleware",
"dep:async-trait" "dep:async-trait",
] ]
geth-tests = [] geth-tests = []

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-stages" name = "reth-stages"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Staged syncing primitives used in reth." description = "Staged syncing primitives used in reth."
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
@ -46,7 +47,7 @@ reth-primitives = { path = "../primitives", features = ["arbitrary"] }
reth-db = { path = "../storage/db", features = ["test-utils", "mdbx"] } reth-db = { path = "../storage/db", features = ["test-utils", "mdbx"] }
reth-interfaces = { path = "../interfaces", features = ["test-utils"] } reth-interfaces = { path = "../interfaces", features = ["test-utils"] }
reth-downloaders = { path = "../net/downloaders" } reth-downloaders = { path = "../net/downloaders" }
reth-eth-wire = { path = "../net/eth-wire" } # TODO(onbjerg): We only need this for [BlockBody] reth-eth-wire = { path = "../net/eth-wire" } # TODO(onbjerg): We only need this for [BlockBody]
reth-blockchain-tree = { path = "../blockchain-tree" } reth-blockchain-tree = { path = "../blockchain-tree" }
reth-rlp = { path = "../rlp" } reth-rlp = { path = "../rlp" }
reth-revm = { path = "../revm" } reth-revm = { path = "../revm" }
@ -59,17 +60,12 @@ rand = "0.8.5"
paste = "1.0" paste = "1.0"
# Stage benchmarks # Stage benchmarks
pprof = { version = "0.11", features = [ pprof = { version = "0.11", features = ["flamegraph", "frame-pointer", "criterion"] }
"flamegraph",
"frame-pointer",
"criterion",
] }
criterion = { version = "0.4.0", features = ["async_futures"] } criterion = { version = "0.4.0", features = ["async_futures"] }
[features] [features]
test-utils = [] test-utils = []
[[bench]] [[bench]]
name = "criterion" name = "criterion"
harness = false harness = false

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-codecs" name = "reth-codecs"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
[features] [features]
default = ["compact"] default = ["compact"]
@ -12,13 +13,7 @@ compact = ["codecs-derive/compact"]
scale = ["codecs-derive/scale"] scale = ["codecs-derive/scale"]
postcard = ["codecs-derive/postcard"] postcard = ["codecs-derive/postcard"]
no_codec = ["codecs-derive/no_codec"] no_codec = ["codecs-derive/no_codec"]
arbitrary = [ arbitrary = ["revm-primitives/arbitrary", "dep:arbitrary", "dep:proptest", "dep:proptest-derive"]
"revm-primitives/arbitrary",
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
]
[dependencies] [dependencies]
bytes = "1.4" bytes = "1.4"
@ -31,10 +26,7 @@ proptest = { version = "1.0", optional = true }
proptest-derive = { version = "0.3", optional = true } proptest-derive = { version = "0.3", optional = true }
[dev-dependencies] [dev-dependencies]
revm-primitives = { version = "1.1", features = [ revm-primitives = { version = "1.1", features = ["serde", "arbitrary"] }
"serde",
"arbitrary"
] }
serde = "1.0" serde = "1.0"
modular-bitfield = "0.11.2" modular-bitfield = "0.11.2"

View File

@ -1,9 +1,11 @@
[package] [package]
name = "codecs-derive" name = "codecs-derive"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
homepage.workspace = true
repository.workspace = true
readme = "../README.md" readme = "../README.md"
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
@ -11,7 +13,7 @@ normal = [
# Used in proc macros # Used in proc macros
"serde", "serde",
# Used in proc macros # Used in proc macros
"parity-scale-codec" "parity-scale-codec",
] ]
[lib] [lib]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-db" name = "reth-db"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Staged syncing primitives used in reth." description = "Staged syncing primitives used in reth."
[dependencies] [dependencies]
@ -12,7 +13,7 @@ description = "Staged syncing primitives used in reth."
reth-primitives = { path = "../../primitives" } reth-primitives = { path = "../../primitives" }
reth-interfaces = { path = "../../interfaces" } reth-interfaces = { path = "../../interfaces" }
reth-codecs = { path = "../codecs" } reth-codecs = { path = "../codecs" }
reth-libmdbx = { path = "../libmdbx-rs", optional = true , features = ["return-borrowed"] } reth-libmdbx = { path = "../libmdbx-rs", optional = true, features = ["return-borrowed"] }
reth-metrics = { path = "../../metrics" } reth-metrics = { path = "../../metrics" }
# codecs # codecs
@ -44,7 +45,7 @@ proptest-derive = { version = "0.3", optional = true }
[dev-dependencies] [dev-dependencies]
# reth libs with arbitrary # reth libs with arbitrary
reth-primitives = { path = "../../primitives", features = ["arbitrary"]} reth-primitives = { path = "../../primitives", features = ["arbitrary"] }
reth-codecs = { path = "../codecs", features = ["arbitrary"] } reth-codecs = { path = "../codecs", features = ["arbitrary"] }
reth-interfaces = { path = "../../interfaces", features = ["bench"] } reth-interfaces = { path = "../../interfaces", features = ["bench"] }
@ -70,7 +71,6 @@ serde_json = "1.0"
paste = "1.0" paste = "1.0"
[features] [features]
default = ["mdbx"] default = ["mdbx"]
test-utils = ["tempfile", "arbitrary"] test-utils = ["tempfile", "arbitrary"]

View File

@ -1,11 +1,12 @@
[package] [package]
name = "reth-libmdbx" name = "reth-libmdbx"
version = "0.1.6" version = "0.1.6"
edition = "2021" edition.workspace = true
rust-version.workspace = true
license = "Apache-2.0" license = "Apache-2.0"
description = "Idiomatic and safe MDBX wrapper with good licence" description = "Idiomatic and safe MDBX wrapper with good licence"
repository = "https://github.com/paradigmxyz/reth" homepage.workspace = true
readme = "README.md" repository.workspace = true
[lib] [lib]
name = "reth_libmdbx" name = "reth_libmdbx"

View File

@ -1,11 +1,12 @@
[package] [package]
name = "reth-mdbx-sys" name = "reth-mdbx-sys"
version = "0.12.6-0" version = "0.12.6-0"
edition = "2021" edition.workspace = true
rust-version.workspace = true
license = "Apache-2.0" license = "Apache-2.0"
description = "Rust bindings for libmdbx with good licence." description = "Rust bindings for libmdbx with good licence."
repository = "https://github.com/paradigmxyz/reth" homepage.workspace = true
readme = "README.md" repository.workspace = true
[lib] [lib]
name = "reth_mdbx_sys" name = "reth_mdbx_sys"

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-provider" name = "reth-provider"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Reth storage provider." description = "Reth storage provider."
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-tasks" name = "reth-tasks"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "Task management" description = "Task management"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-tracing" name = "reth-tracing"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = "tracing helpers" description = "tracing helpers"
[dependencies] [dependencies]

View File

@ -1,10 +1,11 @@
[package] [package]
name = "reth-transaction-pool" name = "reth-transaction-pool"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Transaction pool implementation Transaction pool implementation
""" """
@ -12,12 +13,12 @@ Transaction pool implementation
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
normal = [ normal = [
# Used for diagrams in docs # Used for diagrams in docs
"aquamarine" "aquamarine",
] ]
[dependencies] [dependencies]
# reth # reth
reth-primitives = { path = "../primitives" } reth-primitives = { path = "../primitives" }
reth-provider = { path = "../storage/provider" } reth-provider = { path = "../storage/provider" }
reth-interfaces = { path = "../interfaces" } reth-interfaces = { path = "../interfaces" }
reth-rlp = { path = "../rlp" } reth-rlp = { path = "../rlp" }
@ -46,7 +47,6 @@ paste = { version = "1.0", optional = true }
paste = "1.0" paste = "1.0"
rand = "0.8" rand = "0.8"
[features] [features]
default = ["serde"] default = ["serde"]
serde = ["dep:serde"] serde = ["dep:serde"]

View File

@ -1,18 +1,19 @@
[package] [package]
name = "reth-trie" name = "reth-trie"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition.workspace = true
license = "MIT OR Apache-2.0" rust-version.workspace = true
repository = "https://github.com/paradigmxyz/reth" license.workspace = true
readme = "README.md" homepage.workspace = true
repository.workspace = true
description = """ description = """
Merkle trie implementation Merkle trie implementation
""" """
[dependencies] [dependencies]
# reth # reth
reth-primitives = { path = "../primitives" } reth-primitives = { path = "../primitives" }
reth-interfaces = { path = "../interfaces" } reth-interfaces = { path = "../interfaces" }
reth-rlp = { path = "../rlp" } reth-rlp = { path = "../rlp" }
reth-db = { path = "../storage/db" } reth-db = { path = "../storage/db" }
@ -32,7 +33,7 @@ triehash = { version = "0.8", optional = true }
[dev-dependencies] [dev-dependencies]
# reth # reth
reth-primitives = { path = "../primitives", features = ["test-utils", "arbitrary"] } reth-primitives = { path = "../primitives", features = ["test-utils", "arbitrary"] }
reth-db = { path = "../storage/db", features = ["test-utils"] } reth-db = { path = "../storage/db", features = ["test-utils"] }
reth-provider = { path = "../storage/provider" } reth-provider = { path = "../storage/provider" }

View File

@ -1,11 +1,12 @@
[package] [package]
name = "ef-tests" name = "ef-tests"
version = "0.1.0" version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
repository = "https://github.com/paradigmxyz/reth"
readme = "README.md"
description = "Staged syncing primitives used in reth." description = "Staged syncing primitives used in reth."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
[features] [features]
ef-tests = [] ef-tests = []
@ -22,4 +23,4 @@ tokio = "1.28.1"
walkdir = "2.3.3" walkdir = "2.3.3"
serde = "1.0.163" serde = "1.0.163"
serde_json = "1.0.96" serde_json = "1.0.96"
thiserror = "1.0.40" thiserror = "1.0.40"