[package] name = "reth-eth-wire" description = "Implements the eth/64 and eth/65 P2P protocols" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true [dependencies] bytes.workspace = true thiserror.workspace = true serde = { workspace = true, optional = true } # reth reth-codecs = { path = "../../storage/codecs" } reth-primitives.workspace = true reth-ecies = { path = "../ecies" } reth-rlp = { workspace = true, features = ["alloc", "derive", "std", "ethereum-types", "smol_str"] } reth-discv4 = { path = "../discv4" } # metrics reth-metrics.workspace = true metrics.workspace = true # used for Chain and builders ethers-core = { workspace = true, default-features = false } tokio = { workspace = true, features = ["full"] } tokio-util = { workspace = true, features = ["io", "codec"] } futures.workspace = true tokio-stream.workspace = true pin-project.workspace = true tracing.workspace = true snap = "1.0.5" smol_str = "0.2" async-trait.workspace = true # arbitrary utils arbitrary = { workspace = true, features = ["derive"], optional = true } proptest = { workspace = true, optional = true } proptest-derive = { workspace = true, optional = true } [dev-dependencies] reth-primitives = { workspace = true, features = ["arbitrary"] } reth-tracing = { path = "../../tracing" } ethers-core = { workspace = true, default-features = false } test-fuzz = "4" tokio-util = { workspace = true, features = ["io", "codec"] } hex-literal.workspace = true hex = "0.4" rand.workspace = true secp256k1 = { workspace = true, features = ["global-context", "rand-std", "recovery"] } arbitrary = { workspace = true, features = ["derive"] } proptest.workspace = true proptest-derive.workspace = true [features] default = ["serde"] serde = ["dep:serde", "smol_str/serde"] arbitrary = ["reth-primitives/arbitrary", "dep:arbitrary", "dep:proptest", "dep:proptest-derive"] [[test]] name = "fuzz_roundtrip" path = "tests/fuzz_roundtrip.rs" required-features = ["arbitrary", "serde"]