[package] name = "plonky2" description = "Recursive SNARKs based on PLONK and FRI" version = "0.2.2" authors = ["Daniel Lubarov ", "William Borgeaud ", "Nicholas Ward "] readme = "README.md" edition.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true keywords.workspace = true categories.workspace = true [features] default = ["gate_testing", "parallel", "rand_chacha", "std", "timing"] gate_testing = [] parallel = ["hashbrown/rayon", "plonky2_maybe_rayon/parallel"] std = ["anyhow/std", "rand/std", "itertools/use_std"] timing = ["std", "dep:web-time"] [dependencies] ahash = { workspace = true } anyhow = { workspace = true } hashbrown = { workspace = true } itertools = { workspace = true } keccak-hash = { version = "0.8.0", default-features = false } log = { workspace = true } num = { workspace = true } rand = { workspace = true } rand_chacha = { version = "0.3.1", optional = true, default-features = false } serde = { workspace = true, features = ["rc"] } static_assertions = { workspace = true } unroll = { workspace = true } web-time = { version = "1.0.0", optional = true } # Local dependencies plonky2_field = { version = "0.2.2", path = "../field", default-features = false } plonky2_maybe_rayon = { version = "0.2.0", path = "../maybe_rayon", default-features = false } plonky2_util = { version = "0.2.0", path = "../util", default-features = false } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] getrandom = { version = "0.2", default-features = false, features = ["js"] } [dev-dependencies] criterion = { version = "0.5.1", default-features = false } env_logger = { version = "0.9.0", default-features = false } num_cpus = { version = "1.14.0", default-features = false } rand = { workspace = true, features = ["getrandom"] } rand_chacha = { version = "0.3.1", default-features = false } serde_cbor = { version = "0.11.2" } serde_json = { version = "1.0" } structopt = { version = "0.3.26", default-features = false } tynm = { version = "0.1.6", default-features = false } [target.'cfg(not(target_env = "msvc"))'.dev-dependencies] jemallocator = "0.5.0" [[bin]] name = "generate_constants" required-features = ["rand_chacha"] [[bench]] name = "field_arithmetic" harness = false [[bench]] name = "ffts" harness = false [[bench]] name = "hashing" harness = false [[bench]] name = "merkle" harness = false [[bench]] name = "transpose" harness = false [[bench]] name = "reverse_index_bits" harness = false # Display math equations properly in documentation [package.metadata.docs.rs] rustdoc-args = ["--html-in-header", ".cargo/katex-header.html"]