mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-09 03:31:45 +00:00
Fixes #7001. Mostly mechanical replacement of `derivative` attributes with `educe` ones. ### **Attribute Syntax Changes** ```rust // Bounds: = "..." → (...) #[derivative(Hash(bound = "E: EthSpec"))] #[educe(Hash(bound(E: EthSpec)))] // Ignore: = "ignore" → (ignore) #[derivative(PartialEq = "ignore")] #[educe(PartialEq(ignore))] // Default values: value = "..." → expression = ... #[derivative(Default(value = "ForkName::Base"))] #[educe(Default(expression = ForkName::Base))] // Methods: format_with/compare_with = "..." → method(...) #[derivative(Debug(format_with = "fmt_peer_set_as_len"))] #[educe(Debug(method(fmt_peer_set_as_len)))] // Empty bounds: removed entirely, educe can infer appropriate bounds #[derivative(Default(bound = ""))] #[educe(Default)] // Transparent debug: manual implementation (educe doesn't support it) #[derivative(Debug = "transparent")] // Replaced with manual Debug impl that delegates to inner field ``` **Note**: Some bounds use strings (`bound("E: EthSpec")`) for superstruct compatibility (`expected ','` errors). Co-Authored-By: Javier Chávarri <javier.chavarri@gmail.com> Co-Authored-By: Mac L <mjladson@pm.me>
79 lines
2.3 KiB
TOML
79 lines
2.3 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 = { version = "0.3.4", 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 }
|
|
|
|
[dev-dependencies]
|
|
beacon_chain = { workspace = true }
|
|
criterion = { workspace = true }
|
|
paste = { workspace = true }
|
|
state_processing = { workspace = true }
|
|
tokio = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "benches"
|
|
harness = false
|