Files
lighthouse/consensus/types/Cargo.toml
Mac L f3fd1f210b Remove consensus/types re-exports (#8540)
There are certain crates which we re-export within `types` which creates a fragmented DevEx, where there are various ways to import the same crates.

```rust
// consensus/types/src/lib.rs
pub use bls::{
AggregatePublicKey, AggregateSignature, Error as BlsError, Keypair, PUBLIC_KEY_BYTES_LEN,
PublicKey, PublicKeyBytes, SIGNATURE_BYTES_LEN, SecretKey, Signature, SignatureBytes,
get_withdrawal_credentials,
};
pub use context_deserialize::{ContextDeserialize, context_deserialize};
pub use fixed_bytes::FixedBytesExtended;
pub use milhouse::{self, List, Vector};
pub use ssz_types::{BitList, BitVector, FixedVector, VariableList, typenum, typenum::Unsigned};
pub use superstruct::superstruct;
```

This PR removes these re-exports and makes it explicit that these types are imported from a non-`consensus/types` crate.


Co-Authored-By: Mac L <mjladson@pm.me>
2025-12-09 07:13:41 +00:00

83 lines
2.4 KiB
TOML

[package]
name = "types"
version = "0.2.1"
authors = [
"Paul Hauner <paul@paulhauner.com>",
"Age Manning <Age@AgeManning.com>",
]
edition = { workspace = true }
[features]
default = ["sqlite", "legacy-arith"]
# Allow saturating arithmetic on slots and epochs. Enabled by default, but deprecated.
legacy-arith = []
sqlite = ["dep:rusqlite"]
arbitrary = [
"dep:arbitrary",
"bls/arbitrary",
"ethereum_ssz/arbitrary",
"milhouse/arbitrary",
"ssz_types/arbitrary",
"swap_or_not_shuffle/arbitrary",
]
arbitrary-fuzz = ["arbitrary"]
portable = ["bls/supranational-portable"]
[dependencies]
alloy-primitives = { workspace = true }
alloy-rlp = { workspace = true, features = ["derive"] }
arbitrary = { workspace = true, features = ["derive"], optional = true }
bls = { workspace = true }
compare_fields = { workspace = true }
context_deserialize = { workspace = true }
educe = { workspace = true }
eth2_interop_keypairs = { path = "../../common/eth2_interop_keypairs" }
ethereum_hashing = { workspace = true }
ethereum_serde_utils = { workspace = true }
ethereum_ssz = { workspace = true }
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.4.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 }
superstruct = { workspace = true }
swap_or_not_shuffle = { workspace = true }
tempfile = { workspace = true }
test_random_derive = { path = "../../common/test_random_derive" }
tracing = { workspace = true }
tree_hash = { workspace = true }
tree_hash_derive = { workspace = true }
typenum = { workspace = true }
[dev-dependencies]
beacon_chain = { workspace = true }
criterion = { workspace = true }
paste = { workspace = true }
state_processing = { workspace = true }
tokio = { workspace = true }
[lints.clippy]
module_inception = "allow"
[[bench]]
name = "benches"
harness = false