[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-rlp = { workspace = true, features = ["std", "derive", "ethereum-types"] } reth-rlp-derive = { path = "../rlp/rlp-derive" } reth-codecs = { path = "../storage/codecs" } revm-primitives = { workspace = true, features = ["serde"] } # ethereum ethers-core = { workspace = true, default-features = false } tiny-keccak = { version = "2.0", features = ["keccak"] } crunchy = { version = "0.2.2", default-features = false, features = ["limit_256"] } ruint = { version = "1.9.0", features = ["primitive-types", "rlp"] } # Bloom fixed-hash = { version = "0.8", default-features = false, features = ["rustc-hex"] } # crypto secp256k1 = { workspace = true, default-features = false, features = [ "global-context", "alloc", "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 serde.workspace = true serde_json.workspace = true serde_with = "3.3.0" thiserror.workspace = true sucds = "~0.6" hex = "0.4" hex-literal.workspace = true modular-bitfield = "0.11.2" derive_more = "0.99" url = "2.3" impl-serde = "0.4.0" once_cell = "1.17.0" zstd = { version = "0.12", features = ["experimental"] } paste = "1.0" rayon = "1.7" tempfile = "3.3" sha2 = "0.10.7" # proof related triehash = "0.8" # See to replace hashers to simplify libraries plain_hasher = "0.2" hash-db = "~0.15" # 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 hex-literal.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 = "0.7.4" # 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 = [] [[bench]] name = "recover_ecdsa_crit" harness = false [[bench]] name = "trie_root" harness = false