Files
nanoreth/Cargo.toml
Alexey Shekhirin 6b5b6f7a40 Breaking changes (#5191)
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com>
Co-authored-by: joshieDo <ranriver@protonmail.com>
Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: Thomas Coratger <thomas.coratger@gmail.com>
2024-02-29 12:37:28 +00:00

282 lines
8.8 KiB
TOML

[workspace]
members = [
"bin/reth/",
"crates/blockchain-tree/",
"crates/config/",
"crates/consensus/auto-seal/",
"crates/consensus/beacon/",
"crates/consensus/beacon-core/",
"crates/consensus/common/",
"crates/ethereum-forks/",
"crates/etl",
"crates/interfaces/",
"crates/metrics/",
"crates/metrics/metrics-derive/",
"crates/net/common/",
"crates/net/discv4/",
"crates/net/dns/",
"crates/net/downloaders/",
"crates/net/ecies/",
"crates/net/eth-wire/",
"crates/net/nat/",
"crates/net/network/",
"crates/net/network-api/",
"crates/payload/basic/",
"crates/payload/builder/",
"crates/payload/ethereum/",
"crates/payload/optimism/",
"crates/payload/validator/",
"crates/primitives/",
"crates/prune/",
"crates/revm/",
"crates/rpc/ipc/",
"crates/rpc/rpc/",
"crates/rpc/rpc-api/",
"crates/rpc/rpc-builder/",
"crates/rpc/rpc-engine-api/",
"crates/rpc/rpc-testing-util/",
"crates/rpc/rpc-types/",
"crates/rpc/rpc-types-compat/",
"crates/node-ethereum/",
"crates/node-builder/",
"crates/node-optimism/",
"crates/node-core/",
"crates/node-api/",
"crates/stages/",
"crates/static-file/",
"crates/storage/codecs/",
"crates/storage/codecs/derive/",
"crates/storage/db/",
"crates/storage/libmdbx-rs/",
"crates/storage/libmdbx-rs/mdbx-sys/",
"crates/storage/nippy-jar/",
"crates/storage/provider/",
"crates/tasks/",
"crates/tokio-util/",
"crates/tracing/",
"crates/transaction-pool/",
"crates/trie/",
"examples/",
"examples/additional-rpc-namespace-in-cli/",
"examples/beacon-api-sse/",
"examples/cli-extension-event-hooks/",
"examples/custom-node/",
"examples/custom-payload-builder/",
"examples/manual-p2p/",
"examples/rpc-db/",
"examples/trace-transaction-cli/",
"examples/polygon-p2p/",
"examples/custom-inspector/",
"testing/ef-tests/",
]
default-members = ["bin/reth"]
# Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021
# https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
resolver = "2"
[workspace.lints]
rust.missing_debug_implementations = "warn"
rust.missing_docs = "warn"
rust.unreachable_pub = "warn"
rustdoc.all = "warn"
rust.unused_must_use = "deny"
rust.rust_2018_idioms = "deny"
[workspace.package]
version = "0.1.0-alpha.21"
edition = "2021"
rust-version = "1.75"
license = "MIT OR Apache-2.0"
homepage = "https://paradigmxyz.github.io/reth"
repository = "https://github.com/paradigmxyz/reth"
exclude = [".github/"]
# Meant for testing - all optimizations, but with debug assertions and overflow checks.
[profile.hivetests]
inherits = "test"
opt-level = 3
lto = "thin"
[profile.release]
lto = "thin"
strip = "debuginfo"
# Like release, but with full debug symbols. Useful for e.g. `perf`.
[profile.debug-fast]
inherits = "release"
strip = "none"
debug = true
[profile.maxperf]
inherits = "release"
lto = "fat"
codegen-units = 1
incremental = false
[workspace.dependencies]
# reth
reth = { path = "bin/reth" }
reth-auto-seal-consensus = { path = "crates/consensus/auto-seal" }
reth-basic-payload-builder = { path = "crates/payload/basic" }
reth-beacon-consensus = { path = "crates/consensus/beacon" }
reth-beacon-consensus-core = { path = "crates/consensus/beacon-core" }
reth-blockchain-tree = { path = "crates/blockchain-tree" }
reth-codecs = { path = "crates/storage/codecs" }
reth-config = { path = "crates/config" }
reth-consensus-common = { path = "crates/consensus/common" }
reth-db = { path = "crates/storage/db" }
reth-discv4 = { path = "crates/net/discv4" }
reth-dns-discovery = { path = "crates/net/dns" }
reth-node-builder = { path = "crates/node-builder" }
reth-node-ethereum = { path = "crates/node-ethereum" }
reth-node-optimism = { path = "crates/node-optimism" }
reth-node-core = { path = "crates/node-core" }
reth-node-api = { path = "crates/node-api" }
reth-downloaders = { path = "crates/net/downloaders" }
reth-ecies = { path = "crates/net/ecies" }
reth-eth-wire = { path = "crates/net/eth-wire" }
reth-ethereum-forks = { path = "crates/ethereum-forks" }
reth-ethereum-payload-builder = { path = "crates/payload/ethereum" }
reth-etl = { path = "crates/etl" }
reth-optimism-payload-builder = { path = "crates/payload/optimism" }
reth-interfaces = { path = "crates/interfaces" }
reth-ipc = { path = "crates/rpc/ipc" }
reth-libmdbx = { path = "crates/storage/libmdbx-rs" }
reth-mdbx-sys = { path = "crates/storage/libmdbx-rs/mdbx-sys" }
reth-metrics = { path = "crates/metrics" }
reth-metrics-derive = { path = "crates/metrics/metrics-derive" }
reth-net-common = { path = "crates/net/common" }
reth-net-nat = { path = "crates/net/nat" }
reth-network = { path = "crates/net/network" }
reth-network-api = { path = "crates/net/network-api" }
reth-nippy-jar = { path = "crates/storage/nippy-jar" }
reth-payload-builder = { path = "crates/payload/builder" }
reth-payload-validator = { path = "crates/payload/validator" }
reth-primitives = { path = "crates/primitives" }
reth-provider = { path = "crates/storage/provider" }
reth-prune = { path = "crates/prune" }
reth-revm = { path = "crates/revm" }
reth-rpc = { path = "crates/rpc/rpc" }
reth-rpc-api = { path = "crates/rpc/rpc-api" }
reth-rpc-api-testing-util = { path = "crates/rpc/rpc-testing-util" }
reth-rpc-builder = { path = "crates/rpc/rpc-builder" }
reth-rpc-engine-api = { path = "crates/rpc/rpc-engine-api" }
reth-rpc-types = { path = "crates/rpc/rpc-types" }
reth-rpc-types-compat = { path = "crates/rpc/rpc-types-compat" }
reth-stages = { path = "crates/stages" }
reth-static-file = { path = "crates/static-file" }
reth-tasks = { path = "crates/tasks" }
reth-tokio-util = { path = "crates/tokio-util" }
reth-tracing = { path = "crates/tracing" }
reth-transaction-pool = { path = "crates/transaction-pool" }
reth-trie = { path = "crates/trie" }
# revm
revm = { version = "6.1.0", features = ["std", "secp256k1"], default-features = false }
revm-primitives = { version = "2.1.0", features = ["std"], default-features = false }
revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "75a187b" }
# eth
alloy-chains = { version = "0.1", feature = ["serde", "rlp", "arbitrary"] }
alloy-primitives = "0.6"
alloy-dyn-abi = "0.6"
alloy-sol-types = "0.6"
alloy-rlp = "0.3"
alloy-trie = "0.3"
alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
alloy-rpc-trace-types = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
alloy-rpc-engine-types = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "76c70fb" }
ethers-core = { version = "2.0", default-features = false }
ethers-providers = { version = "2.0", default-features = false }
ethers-signers = { version = "2.0", default-features = false }
ethers-middleware = { version = "2.0", default-features = false }
discv5 = { git = "https://github.com/sigp/discv5", rev = "f289bbd4c57d499bb1bdb393af3c249600a1c662" }
# Fork of rust-igd with ipv6 support
igd-next = "0.14.3"
# js
boa_engine = "0.17"
boa_gc = "0.17"
# misc
aquamarine = "0.5"
bytes = "1.5"
bitflags = "2.4"
clap = "4"
derive_more = "0.99.17"
eyre = "0.6"
tracing = "0.1.0"
tracing-appender = "0.2"
thiserror = "1.0"
serde_json = "1.0.94"
serde = { version = "1.0", default-features = false }
humantime-serde = "1.1"
rand = "0.8.5"
schnellru = "0.2"
strum = "0.26"
rayon = "1.7"
itertools = "0.12"
parking_lot = "0.12"
metrics = "0.21.1" # Needed for `metrics-macro` to resolve the crate using `::metrics` notation
hex-literal = "0.4"
once_cell = "1.17"
syn = "2.0"
nybbles = "0.2.1"
smallvec = "1.13"
# proc-macros
proc-macro2 = "1.0"
quote = "1.0"
# tokio
tokio-stream = "0.1.11"
tokio = { version = "1.21", default-features = false }
tokio-util = { version = "0.7.4", features = ["codec"] }
# async
async-trait = "0.1.68"
futures = "0.3.26"
pin-project = "1.0.12"
futures-util = "0.3.25"
# rpc
jsonrpsee = { version = "0.20" }
jsonrpsee-core = { version = "0.20" }
jsonrpsee-types = { version = "0.20" }
# crypto
secp256k1 = { version = "0.27.0", default-features = false, features = [
"global-context",
"rand-std",
"recovery",
] }
enr = { version = "0.9", default-features = false, features = ["k256"] }
# for eip-4844
c-kzg = "0.4.2"
# config
confy = "0.6"
toml = "0.8"
# misc-testing
arbitrary = "1.3"
assert_matches = "1.5.0"
tempfile = "3.8"
criterion = "0.5"
pprof = "0.13"
proptest = "1.4"
proptest-derive = "0.4"
serial_test = "3"
similar-asserts = "1.5.0"
test-fuzz = "5"
[workspace.metadata.cargo-udeps.ignore]
# ignored because this is mutually exclusive with the optimism payload builder via feature flags
normal = ["reth-ethereum-payload-builder", "reth-node-ethereum"]