[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 = [ "zkp-u256" ] dylib = [ "wasmer/dylib" ] [[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", rev="a93c8b0", 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" primitive-types = "0.11.1" proptest = { version = "1.0", optional = true } rand = "0.8.4" rayon = "1.5.1" serde = "1.0" sha2 = "0.10.1" thiserror = "1.0.0" tiny-keccak = { version = "2.0.2" } wasmer = { version = "2.0" } zkp-u256 = { version = "0.2", optional = true } # TODO: Remove # Use the same `ethers-core` version as ark-circom # TODO: Remove ethers-core = { git = "https://github.com/gakonst/ethers-rs", default-features = false } [dev-dependencies] bincode = "1.3.3" proptest = "1.0" rand_chacha = "0.3.1" serde_json = "1.0.79" tempfile = "3.0" tiny-keccak = "2.0.2" tracing-test = "0.2" [build-dependencies] color-eyre = "0.5" enumset = "1.0.8" wasmer = { version = "2.0", features = [ "dylib" ] } wasmer-engine-dylib = "2.2.1" wasmer-compiler-cranelift = "2.2.1" [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