[package]
name = "ethrex-l2-common"
version.workspace = true
edition.workspace = true
authors.workspace = true
documentation.workspace = true
license.workspace = true
description = "Shared L2 rollup types and helpers for the ethrex Ethereum client"
repository.workspace = true

[dependencies]
ethereum-types.workspace = true
ethrex-common.workspace = true
ethrex-crypto.workspace = true
bytes.workspace = true
thiserror.workspace = true
serde.workspace = true
lambdaworks-crypto.workspace = true
serde_with.workspace = true
# We do not need to enable the "unaligned" feature here since we are just using
# rkyv for ProverInputData, a data structure meant to be used in the host and not
# inside a guest program
rkyv.workspace = true
k256.workspace = true
tracing.workspace = true

secp256k1 = { workspace = true, optional = true }

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
indexing_slicing = "deny"
as_conversions = "deny"
unnecessary_cast = "warn"
panic = "deny"
redundant_clone = "warn"

[features]
default = ["secp256k1"]
secp256k1 = ["dep:secp256k1"]
risc0 = []
sp1 = []
zisk = []
