Files

70 lines
2.0 KiB
TOML

[package]
name = "c-kzg"
version = "2.1.7"
edition = "2021"
license = "Apache-2.0"
description = "A minimal implementation of the Polynomial Commitments API for EIP-4844 and EIP-7594, written in C."
links = "ckzg"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
include = [
"src",
"inc",
"bindings/rust/src",
"bindings/rust/build.rs",
"blst/bindings/*.h",
]
build = "bindings/rust/build.rs"
[lib]
path = "bindings/rust/src/lib.rs"
[features]
default = ["std", "portable", "ethereum_kzg_settings"]
std = ["hex/std", "libc/std", "serde?/std", "once_cell?/std"]
serde = ["dep:serde"]
arbitrary = ["dep:arbitrary"]
generate-bindings = ["dep:bindgen"]
ethereum_kzg_settings = ["dep:once_cell"]
# Enable this feature when running the tests to generate the fuzzing corpus.
# This converts the yaml reference tests into a binary form for the fuzzer.
generate-fuzz-corpus = []
# This is a standalone feature so that crates that disable default features can
# enable blst/portable without having to add it as a dependency
portable = ["blst/portable"]
# BLST Compilation:
# Suppress multi-threading.
# Engaged on wasm32 target architecture automatically.
no-threads = ["blst/no-threads"]
[dependencies]
arbitrary = { version = "1", features = ["derive"], optional = true }
blst = { version = "0.3.16", default-features = false }
hex = { version = "0.4.3", default-features = false, features = ["alloc"] }
libc = { version = "0.2", default-features = false }
serde = { version = "1.0", optional = true, default-features = false, features = [
"alloc",
"derive",
] }
once_cell = { version = "1.21", default-features = false, features = [
"alloc",
], optional = true }
[dev-dependencies]
criterion = "0.5.1"
glob = "0.3.2"
rand = "0.9.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.140"
serde_yaml = "0.9.34"
[build-dependencies]
bindgen = { version = "0.71.1", optional = true }
cc = "1.2"
[target.'cfg(target_env = "msvc")'.build-dependencies]
glob = "0.3"