[package] name = "reth-optimism-primitives" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true description = "OP primitive types" [lints] workspace = true [dependencies] # reth reth-primitives-traits = { workspace = true, features = ["op"] } reth-codecs = { workspace = true, optional = true, features = ["op"] } reth-zstd-compressors = { workspace = true, optional = true } # ethereum alloy-primitives.workspace = true alloy-consensus.workspace = true alloy-rlp.workspace = true alloy-eips = { workspace = true, features = ["k256"] } revm-context.workspace = true revm-optimism.workspace = true secp256k1 = { workspace = true, optional = true } # op op-alloy-consensus.workspace = true alloy-rpc-types-eth = { workspace = true, optional = true } alloy-network = { workspace = true, optional = true } alloy-serde = { workspace = true, optional = true } # codec bytes = { workspace = true, optional = true } modular-bitfield = { workspace = true, optional = true } serde = { workspace = true, optional = true } # misc derive_more = { workspace = true, features = ["deref", "from", "into", "constructor"] } rand = { workspace = true, optional = true } # test arbitrary = { workspace = true, features = ["derive"], optional = true } proptest = { workspace = true, optional = true } [dev-dependencies] arbitrary.workspace = true proptest-arbitrary-interop.workspace = true proptest.workspace = true rand.workspace = true reth-codecs = { workspace = true, features = ["test-utils", "op"] } rstest.workspace = true secp256k1 = { workspace = true, features = ["rand"] } serde_json.workspace = true [features] default = ["std"] std = [ "reth-primitives-traits/std", "reth-codecs?/std", "alloy-consensus/std", "alloy-eips/std", "alloy-primitives/std", "serde?/std", "bytes?/std", "derive_more/std", "secp256k1?/std", "alloy-rlp/std", "reth-zstd-compressors?/std", "op-alloy-consensus/std", "revm-optimism/std", "alloy-rpc-types-eth?/std", "alloy-serde?/std", "revm-context/std", "serde_json/std", ] alloy-compat = ["dep:alloy-network", "dep:alloy-serde", "dep:alloy-rpc-types-eth", "op-alloy-consensus/alloy-compat"] reth-codec = [ "dep:reth-codecs", "std", "dep:proptest", "reth-primitives-traits/reth-codec", "reth-codecs?/op", "dep:bytes", "dep:modular-bitfield", "dep:reth-zstd-compressors", ] serde = [ "dep:serde", "reth-primitives-traits/serde", "alloy-primitives/serde", "alloy-consensus/serde", "alloy-eips/serde", "bytes?/serde", "reth-codecs?/serde", "op-alloy-consensus/serde", "rand?/serde", "secp256k1?/serde", "revm-optimism/serde", "alloy-rpc-types-eth?/serde", "revm-context/serde", ] serde-bincode-compat = [ "alloy-consensus/serde-bincode-compat", "alloy-eips/serde-bincode-compat", "op-alloy-consensus/serde-bincode-compat", "reth-primitives-traits/serde-bincode-compat", ] arbitrary = [ "std", "dep:arbitrary", "dep:secp256k1", "secp256k1?/rand", "reth-primitives-traits/arbitrary", "reth-codecs?/arbitrary", "op-alloy-consensus/arbitrary", "alloy-consensus/arbitrary", "alloy-eips/arbitrary", "alloy-primitives/arbitrary", "rand", "alloy-rpc-types-eth?/arbitrary", "alloy-serde?/arbitrary", ]