[package] name = "semaphore" version = "0.1.0" edition = "2021" authors = [ "Remco Bloemen ", "Philipp Sippl "] homepage = "https://github.com/worldcoin/semaphore-rs" repository = "https://github.com/worldcoin/semaphore-rs" description = "Rust support library for Semaphore" keywords = ["worldcoin", "protocol", "signup"] categories = ["cryptography"] readme = "Readme.md" license-file = "mit-license.md" [features] default = [] bench = [ "criterion", "proptest" ] mimc = [ "tiny-keccak", "zkp-u256" ] [[bench]] name = "criterion" harness = false path = "criterion.rs" required-features = [ "bench", "proptest" ] [dependencies] ark-bn254 = { version = "0.3.0" } ark-circom = { git = "https://github.com/gakonst/ark-circom", features=["circom-2"] } ark-ec = { version = "0.3.0", default-features = false, features = ["parallel"] } ark-ff = { version = "0.3.0", default-features = false, features = ["parallel", "asm"] } ark-groth16 = { git = "https://github.com/arkworks-rs/groth16", rev = "765817f", features = ["parallel"] } ark-relations = { version = "0.3.0", default-features = false } ark-std = { version = "0.3.0", default-features = false, features = ["parallel"] } color-eyre = "0.5" criterion = { version = "0.3", optional = true, features = [ "async_tokio" ] } ff = { package="ff_ce", version="0.11"} hex = "0.4.0" hex-literal = "0.3" num-bigint = { version = "0.4", default-features = false, features = ["rand"] } once_cell = "1.8" poseidon-rs = "0.0.8" proptest = { version = "1.0", optional = true } rayon = "1.5.1" serde = "1.0" sha2 = "0.10.1" thiserror = "1.0.0" tiny-keccak = { version = "2.0.2", optional = true } zkp-u256 = { version = "0.2", optional = true } # Use the same `ethers-core` version as ark-circom ethers-core = { git = "https://github.com/gakonst/ethers-rs", default-features = false } [dev-dependencies] pretty_assertions = "1.0" serde_json = "1.0.79" tempfile = "3.0" tiny-keccak = "2.0.2" tracing-test = "0.2" # [patch.crates-io] # wasmer = { git = 'https://github.com/philsippl/wasmer', rev = "e776616"} [profile.release] codegen-units = 1 lto = true panic = "abort" opt-level = 3 # Compilation profile for any non-workspace member. # Dependencies are optimized, even in a dev build. This improves dev performance # while having neglible impact on incremental build times. [profile.dev.package."*"] opt-level = 3