[package]
name = "op-alloy"
description = "Connect applications to the OP Stack"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
exclude.workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[dependencies]
op-alloy-consensus = { workspace = true, optional = true }
op-alloy-genesis = { workspace = true, optional = true }
op-alloy-network = { workspace = true, optional = true }
op-alloy-protocol = { workspace = true, optional = true }
op-alloy-registry = { workspace = true, optional = true }
op-alloy-provider = { workspace = true, optional = true }
op-alloy-rpc-jsonrpsee = { workspace = true, optional = true }
op-alloy-rpc-types-engine = { workspace = true, optional = true }
op-alloy-rpc-types = { workspace = true, optional = true }
[features]
default = ["std", "k256", "serde"]
std = [
"op-alloy-consensus?/std",
"op-alloy-genesis?/std",
"op-alloy-protocol?/std",
"op-alloy-registry?/std",
"op-alloy-rpc-types?/std",
"op-alloy-rpc-types-engine?/std",
]
full = [
"consensus",
"genesis",
"provider",
"registry",
"network",
"protocol",
"rpc-types",
"rpc-types-engine",
"rpc-jsonrpsee",
]
k256 = [
"op-alloy-consensus?/k256",
]
arbitrary = [
"op-alloy-consensus?/arbitrary",
"op-alloy-genesis?/arbitrary",
"op-alloy-protocol?/arbitrary",
"op-alloy-rpc-types?/arbitrary",
"op-alloy-rpc-types-engine?/arbitrary",
]
serde = [
"op-alloy-consensus?/serde",
"op-alloy-genesis?/serde",
"op-alloy-protocol?/serde",
"op-alloy-rpc-types-engine?/serde",
]
consensus = ["dep:op-alloy-consensus"]
genesis = ["dep:op-alloy-genesis"]
registry = ["dep:op-alloy-registry"]
protocol = ["dep:op-alloy-protocol"]
rpc-types = ["dep:op-alloy-rpc-types"]
rpc-types-engine = ["dep:op-alloy-rpc-types-engine"]
provider = ["dep:op-alloy-provider"]
network = ["dep:op-alloy-network"]
rpc-jsonrpsee = ["dep:op-alloy-rpc-jsonrpsee"]