[package] name = "dusk-plonk" version = "0.20.2" categories =["algorithms", "cryptography", "science", "mathematics"] edition = "2021" keywords = ["cryptography", "plonk", "zk-snarks", "zero-knowledge", "crypto"] license = "MPL-2.0" repository = "https://github.com/dusk-network/plonk" description = "A pure-Rust implementation of the PLONK ZK-Proof algorithm" exclude = [ "**/.gitignore", ".gitignore", "Cargo.lock", ".github/" ] [dependencies] merlin = {version = "3.0", default-features = false} rand_core = {version="0.6", default-features=false} dusk-bytes = "0.1" dusk-bls12_381 = {version = "0.13", default-features = false, features = ["groups", "pairings"]} dusk-jubjub = {version = "0.14", default-features = false} ff = {version = "0.13", default-features = false} itertools = {version = "0.9", default-features = false} hashbrown = {version = "0.9", default-features=false, features = ["ahash"]} msgpacker = {version = "=0.4.3", default-features=false, features = ["alloc", "derive"], optional=true} miniz_oxide = {version = "0.7", default-features=false, features = ["with-alloc"], optional = true} rayon = {version = "1.3", optional = true} sha2 = {version = "0.10", default-features = false, optional = true} cfg-if = "1.0" # Dusk related deps for WASMI serde rkyv = {version = "0.7", optional = true, default-features = false} bytecheck = {version = "0.6", optional = true, default-features = false} backtrace = {version = "0.3", optional = true} dusk-cdf = {version = "0.5", optional = true} zeroize = { version = "1", optional = true } [dev-dependencies] criterion = "0.5" tempdir = "0.3" rand = "0.8" rkyv = {version = "0.7", default-features = false, features = ["size_32"]} [features] default = ["std"] std = [ "rand_core/std", "dusk-bls12_381/default", # Includes `parallel` "dusk-jubjub/default", "itertools/default", "hashbrown/default", "msgpacker/std", "miniz_oxide/std", "alloc", "rayon" ] alloc = ["dusk-bls12_381/alloc", "msgpacker", "miniz_oxide", "sha2"] debug = ["dusk-cdf", "backtrace"] rkyv-impl = ["dusk-bls12_381/rkyv-impl", "dusk-jubjub/rkyv-impl", "rkyv", "bytecheck"] [profile.release] panic = "abort" codegen-units = 1 overflow-checks = false debug = true [profile.bench] opt-level = 3 debug = false debug-assertions = false overflow-checks = false lto = true incremental = false codegen-units = 1 [[example]] name = "circuit" required-features = ["alloc"] [[bench]] name = "plonk" harness = false [[test]] name = "append_gate" required-features = ["alloc"] [[test]] name = "assert_point" required-features = ["alloc"] [[test]] name = "assert_scalar" required-features = ["alloc"] [[test]] name = "boolean" required-features = ["alloc"] [[test]] name = "composer" required-features = ["alloc"] [[test]] name = "debugger" required-features = ["debug", "std"] [[test]] name = "decomposition" required-features = ["alloc"] [[test]] name = "ecc" required-features = ["alloc"] [[test]] name = "error_size" required-features = ["alloc"] [[test]] name = "gate_add_mul" required-features = ["alloc"] [[test]] name = "logic" required-features = ["alloc"] [[test]] name = "range" required-features = ["alloc"] [[test]] name = "select_bls" required-features = ["alloc"] [[test]] name = "select_point" required-features = ["alloc"] [package.metadata.docs.rs] rustdoc-args = [ "--html-in-header", "./katex-header.html" ]