Files
nanoreth/crates/primitives/Cargo.toml
2024-04-16 23:05:08 +02:00

141 lines
3.8 KiB
TOML

[package]
name = "reth-primitives"
version.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Commonly used types in reth."
[lints]
workspace = true
[dependencies]
# reth
reth-codecs.workspace = true
reth-ethereum-forks.workspace = true
reth-rpc-types.workspace = true
revm.workspace = true
revm-primitives = { workspace = true, features = ["serde"] }
# ethereum
alloy-chains = { workspace = true, features = ["serde", "rlp"] }
alloy-primitives = { workspace = true, features = ["rand", "rlp"] }
alloy-rlp = { workspace = true, features = ["arrayvec"] }
alloy-trie = { workspace = true, features = ["serde"] }
nybbles = { workspace = true, features = ["serde", "rlp"] }
alloy-genesis.workspace = true
alloy-eips.workspace = true
enr = { workspace = true, features = ["rust-secp256k1"] }
# crypto
secp256k1 = { workspace = true, features = ["global-context", "recovery", "rand"] }
# for eip-4844
c-kzg = { workspace = true, features = ["serde"], optional = true }
# misc
bytes.workspace = true
byteorder = "1"
clap = { workspace = true, features = ["derive"], optional = true }
derive_more.workspace = true
itertools.workspace = true
modular-bitfield = "0.11.2"
once_cell.workspace = true
rayon.workspace = true
serde_with.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2 = { version = "0.10.7", optional = true }
tempfile = { workspace = true, optional = true }
thiserror.workspace = true
zstd = { version = "0.13", features = ["experimental"], optional = true }
roaring = "0.10.2"
cfg-if = "1.0.0"
# `test-utils` feature
hash-db = { version = "~0.15", optional = true }
plain_hasher = { version = "0.2", 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]
# eth
revm-primitives = { workspace = true, features = ["arbitrary"] }
nybbles = { workspace = true, features = ["arbitrary"] }
alloy-trie = { workspace = true, features = ["arbitrary"] }
alloy-eips = { workspace = true, features = ["arbitrary"] }
arbitrary = { workspace = true, features = ["derive"] }
assert_matches.workspace = true
proptest.workspace = true
proptest-derive.workspace = true
rand.workspace = true
serde_json.workspace = true
test-fuzz.workspace = true
toml.workspace = true
triehash = "0.8"
hash-db = "~0.15"
plain_hasher = "0.2"
sucds = "0.8.1"
anyhow = "1.0.75"
# necessary so we don't hit a "undeclared 'std'":
# https://github.com/paradigmxyz/reth/pull/177#discussion_r1021172198
criterion.workspace = true
pprof = { workspace = true, features = ["flamegraph", "frame-pointer", "criterion"] }
secp256k1.workspace = true
[features]
default = ["c-kzg", "zstd-codec"]
asm-keccak = ["alloy-primitives/asm-keccak"]
arbitrary = [
"revm-primitives/arbitrary",
"reth-rpc-types/arbitrary",
"reth-ethereum-forks/arbitrary",
"nybbles/arbitrary",
"alloy-trie/arbitrary",
"alloy-chains/arbitrary",
"alloy-eips/arbitrary",
"dep:arbitrary",
"dep:proptest",
"dep:proptest-derive",
"zstd-codec"
]
c-kzg = ["dep:c-kzg", "revm/c-kzg", "revm-primitives/c-kzg", "dep:sha2", "dep:tempfile"]
zstd-codec = [
"dep:zstd"
]
clap = ["dep:clap"]
optimism = [
"reth-codecs/optimism",
"revm-primitives/optimism",
"reth-ethereum-forks/optimism",
"revm/optimism",
]
test-utils = ["dep:plain_hasher", "dep:hash-db"]
[[bench]]
name = "recover_ecdsa_crit"
harness = false
[[bench]]
name = "validate_blob_tx"
required-features = ["arbitrary", "c-kzg"]
harness = false
[[bench]]
name = "trie_root"
required-features = ["arbitrary", "test-utils"]
harness = false
[[bench]]
name = "integer_list"
harness = false