[package]
name = "c-kzg"
version = "2.0.0"
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"
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"]
generate-bindings = ["dep:bindgen"]
ethereum_kzg_settings = ["dep:once_cell"]
generate-fuzz-corpus = []
portable = ["blst/portable"]
no-threads = ["blst/no-threads"]
[dependencies]
arbitrary = { version = "1", features = ["derive"] }
blst = { version = "0.3.12", 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",
] }
once_cell = { version = "1.19", default-features = false, features = [
"alloc",
], optional = true }
[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"