[package] name = "ark-crypto-primitives" description.workspace = true documentation.workspace = true keywords.workspace = true version.workspace = true authors.workspace = true homepage.workspace = true repository.workspace = true categories.workspace = true include.workspace = true license.workspace = true edition.workspace = true ################################# Dependencies ################################ [dependencies] ark-crypto-primitives-macros = { version = "0.5.0-alpha", path = "../macros" } ark-ff = { version = "0.5.0-alpha", default-features = false } ark-ec = { version = "0.5.0-alpha", default-features = false } ark-std = { version = "0.5.0-alpha", default-features = false } ark-relations = { version = "0.5.0-alpha", default-features = false } ark-serialize = { version = "0.5.0-alpha", default-features = false, features = [ "derive" ] } blake2 = { version = "0.10", default-features = false } sha2 = { version = "0.10", default-features = false } digest = { version = "0.10", default-features = false } ark-r1cs-std = { version = "0.5.0-alpha", optional = true, default-features = false } ark-snark = { version = "0.5.0-alpha", default-features = false } rayon = { version = "1.0", optional = true } derivative = { version = "2.0", features = ["use_core"] } tracing = { version = "0.1", default-features = false, features = [ "attributes" ], optional = true } hashbrown = { version = "0.14", default-features = false, features = ["inline-more", "allocator-api2"], optional = true } [features] default = ["std"] std = [ "ark-ff/std", "ark-ec/std", "ark-std/std", "ark-relations/std" ] print-trace = [ "ark-std/print-trace" ] parallel = [ "std", "rayon", "ark-ec/parallel", "ark-std/parallel", "ark-ff/parallel" ] r1cs = [ "ark-r1cs-std", "tracing" ] crh = [ "sponge" ] sponge = [] commitment = ["crh"] merkle_tree = ["crh", "hashbrown"] encryption = [] prf = [] snark = [] signature = [] [target.'cfg(all(target_has_atomic = "8", target_has_atomic = "16", target_has_atomic = "32", target_has_atomic = "64", target_has_atomic = "ptr"))'.dependencies] ahash = { version = "0.8", default-features = false} [target.'cfg(not(all(target_has_atomic = "8", target_has_atomic = "16", target_has_atomic = "32", target_has_atomic = "64", target_has_atomic = "ptr")))'.dependencies] fnv = { version = "1.0", default-features = false } [dev-dependencies] ark-ed-on-bls12-377 = { version = "0.5.0-alpha", default-features = false } ark-ed-on-bls12-381 = { version = "0.5.0-alpha", default-features = false, features = [ "r1cs" ] } ark-bls12-377 = { version = "0.5.0-alpha", default-features = false, features = [ "curve", "r1cs" ] } ark-mnt4-298 = { version = "0.5.0-alpha", default-features = false, features = [ "curve", "r1cs" ] } ark-mnt6-298 = { version = "0.5.0-alpha", default-features = false, features = [ "r1cs" ] } criterion = { version = "0.4" } ################################# Benchmarks ################################## [[bench]] name = "pedersen_crh" path = "benches/crh.rs" harness = false required-features = [ "crh" ] [[bench]] name = "pedersen_comm" path = "benches/comm.rs" harness = false required-features = [ "commitment" ] [[bench]] name = "blake2s_prf" path = "benches/prf.rs" harness = false required-features = [ "prf" ] [[bench]] name = "schnorr_sig" path = "benches/signature.rs" harness = false required-features = [ "signature" ] [[bench]] name = "merkle_tree" path = "benches/merkle_tree.rs" harness = false required-features = [ "merkle_tree" ]