mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-09 11:41:51 +00:00
Even though the `consensus/types` crate has a feature named `sqlite`, it unconditionally depends on the `rusqlite` crate, which then depends on the `sqlite` crate — even when the feature is disabled. When the feature is disabled, the code that imports from `rusqlite` is disabled, so this dependency is not needed when the feature is disabled. This is not a problem for Lighthouse itself, but I’m interested in using the types defined here in a different Rust project, which depends on a conflicting version of the `sqlite` crate. Ensure that the dependency on `rusqlite` is only present when the `sqlite` feature is enabled.
72 lines
2.5 KiB
TOML
72 lines
2.5 KiB
TOML
[package]
|
|
name = "types"
|
|
version = "0.2.1"
|
|
authors = ["Paul Hauner <paul@paulhauner.com>", "Age Manning <Age@AgeManning.com>"]
|
|
edition = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "benches"
|
|
harness = false
|
|
|
|
[dependencies]
|
|
alloy-primitives = { workspace = true }
|
|
alloy-rlp = { version = "0.3.4", features = ["derive"] }
|
|
# The arbitrary dependency is enabled by default since Capella to avoid complexity introduced by
|
|
# `AbstractExecPayload`
|
|
arbitrary = { workspace = true, features = ["derive"] }
|
|
bls = { workspace = true, features = ["arbitrary"] }
|
|
compare_fields = { workspace = true }
|
|
compare_fields_derive = { workspace = true }
|
|
derivative = { workspace = true }
|
|
eth2_interop_keypairs = { path = "../../common/eth2_interop_keypairs" }
|
|
ethereum_hashing = { workspace = true }
|
|
ethereum_serde_utils = { workspace = true }
|
|
ethereum_ssz = { workspace = true, features = ["arbitrary"] }
|
|
ethereum_ssz_derive = { workspace = true }
|
|
fixed_bytes = { workspace = true }
|
|
hex = { workspace = true }
|
|
int_to_bytes = { workspace = true }
|
|
itertools = { workspace = true }
|
|
kzg = { workspace = true }
|
|
maplit = { workspace = true }
|
|
merkle_proof = { workspace = true }
|
|
metastruct = "0.1.0"
|
|
milhouse = { workspace = true }
|
|
parking_lot = { workspace = true }
|
|
rand = { workspace = true }
|
|
rand_xorshift = "0.3.0"
|
|
rayon = { workspace = true }
|
|
regex = { workspace = true }
|
|
rpds = { workspace = true }
|
|
rusqlite = { workspace = true, optional = true }
|
|
safe_arith = { workspace = true }
|
|
serde = { workspace = true, features = ["rc"] }
|
|
serde_json = { workspace = true }
|
|
serde_yaml = { workspace = true }
|
|
smallvec = { workspace = true }
|
|
ssz_types = { workspace = true, features = ["arbitrary"] }
|
|
superstruct = { workspace = true }
|
|
swap_or_not_shuffle = { workspace = true, features = ["arbitrary"] }
|
|
tempfile = { workspace = true }
|
|
test_random_derive = { path = "../../common/test_random_derive" }
|
|
tracing = { workspace = true }
|
|
tree_hash = { workspace = true }
|
|
tree_hash_derive = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
beacon_chain = { workspace = true }
|
|
criterion = { workspace = true }
|
|
paste = { workspace = true }
|
|
state_processing = { workspace = true }
|
|
tokio = { workspace = true }
|
|
|
|
[features]
|
|
default = ["sqlite", "legacy-arith"]
|
|
# Allow saturating arithmetic on slots and epochs. Enabled by default, but deprecated.
|
|
legacy-arith = []
|
|
sqlite = ["dep:rusqlite"]
|
|
# The `arbitrary-fuzz` feature is a no-op provided for backwards compatibility.
|
|
# For simplicity `Arbitrary` is now derived regardless of the feature's presence.
|
|
arbitrary-fuzz = []
|
|
portable = ["bls/supranational-portable"]
|