[package]
name = "c-kzg"
version = "1.0.2"
edition = "2021"
license = "Apache-2.0"
description = "A minimal implementation of the Polynomial Commitments API for EIP-4844, written in C."
links = "ckzg"
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"]
std = ["hex/std", "libc/std", "serde?/std"]
serde = ["dep:serde"]
generate-bindings = ["dep:bindgen"]
portable = ["blst/portable"]
no-threads = ["blst/no-threads"]
[dependencies]
blst = { version = "0.3.11", default-features = false }
hex = { version = "0.4.2", default-features = false, features = ["alloc"] }
libc = { version = "0.2", default-features = false }
serde = { version = "1.0", optional = true, default-features = false, features = [
"alloc",
"derive",
] }
[dev-dependencies]
criterion = "0.5.1"
glob = "0.3.1"
rand = "0.8.5"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.105"
serde_yaml = "0.9.17"
[build-dependencies]
bindgen = { version = "0.69", optional = true }
cc = "1.0"
[target.'cfg(target_env = "msvc")'.build-dependencies]
glob = "0.3"
[[bench]]
path = "bindings/rust/benches/kzg_benches.rs"
name = "kzg_benches"
harness = false