ethrex-crypto 17.0.0

Cryptographic primitives and precompile backends for the ethrex Ethereum execution client
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "ethrex-crypto"
version = "17.0.0"
authors = ["LambdaClass"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cryptographic primitives and precompile backends for the ethrex Ethereum execution client"
documentation = "https://docs.ethrex.xyz"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/lambdaclass/ethrex"
resolver = "2"

[features]
aws-lc-rs = [
    "dep:aws-lc-rs",
    "std",
]
blst = [
    "dep:blst",
    "std",
]
c-kzg = [
    "dep:c-kzg",
    "c-kzg/std",
    "c-kzg/ethereum_kzg_settings",
    "std",
]
default = [
    "std",
    "kzg-rs",
    "secp256k1",
    "aws-lc-rs",
    "blst",
]
kzg-rs = ["dep:kzg-rs"]
risc0 = [
    "c-kzg/std",
    "c-kzg/ethereum_kzg_settings",
    "c-kzg/portable",
    "std",
]
secp256k1 = [
    "dep:secp256k1",
    "std",
]
std = [
    "dep:malachite",
    "ark-ff/asm",
    "thiserror/std",
]

[lib]
name = "ethrex_crypto"
path = "lib.rs"

[[bench]]
name = "bls_single_op"
path = "benches/bls_single_op.rs"
harness = false

[dependencies.ark-bn254]
version = "0.5.0"
features = ["curve"]
default-features = false

[dependencies.ark-ec]
version = "0.5.0"
default-features = false

[dependencies.ark-ff]
version = "0.5.0"
default-features = false

[dependencies.aws-lc-rs]
version = "1.17"
optional = true

[dependencies.blst]
version = "0.3.16"
optional = true

[dependencies.c-kzg]
version = "2.1.1"
optional = true
default-features = false

[dependencies.ethereum-types]
version = "0.15.1"
default-features = false

[dependencies.hex-literal]
version = "0.4.1"

[dependencies.k256]
version = "0.13.4"
features = ["ecdsa"]
default-features = false

[dependencies.kzg-rs]
version = "0.2.6"
optional = true

[dependencies.malachite]
version = "0.6.1"
optional = true

[dependencies.num-bigint]
version = "0.4.6"
default-features = false

[dependencies.p256]
version = "0.13.2"
features = [
    "ecdsa",
    "arithmetic",
    "expose-field",
]
default-features = false

[dependencies.ripemd]
version = "0.1.3"
default-features = false

[dependencies.secp256k1]
version = "0.30.0"
features = [
    "global-context",
    "recovery",
    "rand",
]
optional = true
default-features = false

[dependencies.sha2]
version = "0.10.9"
default-features = false

[dependencies.thiserror]
version = "2.0.9"
default-features = false

[dependencies.tiny-keccak]
version = "2.0.2"
features = ["keccak"]

[dev-dependencies.blst]
version = "0.3.16"

[dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]

[lints.clippy]
redundant_clone = "warn"