Files
nanoreth/crates/primitives/Cargo.toml

107 lines
2.9 KiB
TOML

[package]
name = "reth-primitives"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
description = "Commonly used types in reth."
[dependencies]
# reth
reth-codecs = { path = "../storage/codecs" }
revm-primitives = { workspace = true, features = ["serde"] }
# ethereum
alloy-primitives = { workspace = true, features = ["rand", "rlp"] }
alloy-rlp = { workspace = true, features = ["arrayvec"] }
alloy-sol-types.workspace = true
ethers-core = { workspace = true, default-features = false, optional = true }
# crypto
secp256k1 = { workspace = true, features = ["global-context", "recovery"] }
# for eip-4844
c-kzg = { workspace = true, features = ["serde"] }
# used for forkid
crc = "3"
# tracing
tracing.workspace = true
# tokio
tokio = { workspace = true, default-features = false, features = ["sync"] }
tokio-stream.workspace = true
# misc
bytes.workspace = true
byteorder = "1"
serde.workspace = true
serde_json.workspace = true
serde_with = "3.3.0"
thiserror.workspace = true
sucds = "~0.6"
modular-bitfield = "0.11.2"
derive_more = "0.99"
url = "2.3"
once_cell = "1.17.0"
zstd = { version = "0.12", features = ["experimental"] }
rayon.workspace = true
tempfile.workspace = true
sha2 = "0.10.7"
itertools = "0.11"
num_enum = "0.7"
# `test-utils` feature
plain_hasher = { version = "0.2", optional = true }
hash-db = { version = "~0.15", optional = true }
# arbitrary utils
arbitrary = { workspace = true, features = ["derive"], optional = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }
strum = { workspace = true, features = ["derive"] }
[dev-dependencies]
serde_json.workspace = true
test-fuzz = "4"
rand.workspace = true
revm-primitives = { workspace = true, features = ["arbitrary"] }
arbitrary = { workspace = true, features = ["derive"] }
proptest.workspace = true
proptest-derive.workspace = true
assert_matches.workspace = true
toml.workspace = true
triehash = "0.8"
plain_hasher = "0.2"
hash-db = "~0.15"
# value-256 is needed for the main_codec proptests to pass
reth-primitives = { path = ".", features = ["value-256"] }
# necessary so we don't hit a "undeclared 'std'":
# https://github.com/paradigmxyz/reth/pull/177#discussion_r1021172198
secp256k1.workspace = true
criterion = "0.5"
pprof = { version = "0.12", features = ["flamegraph", "frame-pointer", "criterion"] }
[features]
default = []
arbitrary = ["revm-primitives/arbitrary", "dep:arbitrary", "dep:proptest", "dep:proptest-derive"]
test-utils = ["dep:plain_hasher", "dep:hash-db", "dep:ethers-core"]
# value-256 controls whether transaction Value fields are DB-encoded as 256 bits instead of the
# default of 128 bits.
value-256 = ["reth-codecs/value-256"]
[[bench]]
name = "recover_ecdsa_crit"
harness = false
[[bench]]
name = "trie_root"
required-features = ["arbitrary", "test-utils"]
harness = false