[package] name = "reth-primitives-traits" version.workspace = true edition.workspace = true homepage.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true description = "Common types in reth." [lints] workspace = true [dependencies] # reth reth-codecs = { workspace = true, optional = true } # ethereum alloy-consensus.workspace = true alloy-eips.workspace = true alloy-genesis.workspace = true alloy-primitives.workspace = true alloy-rlp.workspace = true alloy-trie.workspace = true revm-primitives.workspace = true # op op-alloy-consensus = { workspace = true, optional = true } # crypto secp256k1 = { workspace = true, features = [ "recovery", ], optional = true } k256.workspace = true # misc byteorder = { workspace = true, optional = true } bytes.workspace = true derive_more.workspace = true serde_with = { workspace = true, optional = true } auto_impl.workspace = true thiserror.workspace = true # required by reth-codecs modular-bitfield = { workspace = true, optional = true } serde = { workspace = true, optional = true} # arbitrary utils arbitrary = { workspace = true, features = ["derive"], optional = true } proptest = { workspace = true, optional = true } proptest-arbitrary-interop = { workspace = true, optional = true } [dev-dependencies] reth-codecs.workspace = true alloy-primitives = { workspace = true, features = ["arbitrary", "serde"] } alloy-consensus = { workspace = true, features = ["arbitrary", "serde"] } arbitrary = { workspace = true, features = ["derive"] } secp256k1 = { workspace = true, features = [ "recovery", "global-context", "rand" ] } bincode.workspace = true byteorder.workspace = true proptest-arbitrary-interop.workspace = true proptest.workspace = true rand.workspace = true serde.workspace = true serde_json.workspace = true test-fuzz.workspace = true modular-bitfield.workspace = true [features] default = ["std"] std = [ "alloy-consensus/std", "alloy-eips/std", "alloy-genesis/std", "alloy-primitives/std", "revm-primitives/std", "serde?/std", "serde_with?/std", "alloy-rlp/std", "bytes/std", "derive_more/std", "k256/std", "secp256k1?/std", "thiserror/std", "alloy-trie/std", "op-alloy-consensus?/std", "serde_json/std" ] secp256k1 = ["dep:secp256k1"] test-utils = [ "arbitrary", "reth-codecs?/test-utils" ] arbitrary = [ "std", "alloy-consensus/arbitrary", "alloy-primitives/arbitrary", "dep:arbitrary", "dep:proptest", "dep:proptest-arbitrary-interop", "alloy-eips/arbitrary", "revm-primitives/arbitrary", "reth-codecs?/arbitrary", "secp256k1?/global-context", "secp256k1?/rand", "op-alloy-consensus?/arbitrary", "alloy-trie/arbitrary" ] serde-bincode-compat = [ "serde", "serde_with", "alloy-consensus/serde-bincode-compat", "alloy-eips/serde-bincode-compat", "op-alloy-consensus?/serde-bincode-compat" ] serde = [ "dep:serde", "alloy-consensus/serde", "alloy-eips/serde", "alloy-primitives/serde", "bytes/serde", "rand/serde", "reth-codecs?/serde", "revm-primitives/serde", "revm-primitives/serde", "op-alloy-consensus?/serde", "k256/serde", "secp256k1?/serde", "alloy-trie/serde" ] reth-codec = [ "dep:reth-codecs", "dep:modular-bitfield", "dep:byteorder", ] op = [ "dep:op-alloy-consensus", ]