[package] name = "circ" version = "0.1.0" authors = ["Alex Ozdemir <aozdemir@hmc.edu>"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] circ_fields = { path = "circ_fields" } circ_opt = { path = "circ_opt" } circ_hc = { path = "circ_hc", default-features = false, features = ["rc", "lru"]} circ_waksman = { path = "circ_waksman" } rug = { version = "1.11", features = ["serde"] } gmp-mpfr-sys = { version = "1.4", optional = true } lazy_static = { version = "1.4", optional = true } rand = "0.8" rand_chacha = "0.3" rsmt2 = { version = "0.14", optional = true } ieee754 = { version = "0.2", optional = true} zokrates_parser = { path = "third_party/ZoKrates/zokrates_parser", optional = true } zokrates_pest_ast = { path = "third_party/ZoKrates/zokrates_pest_ast", optional = true } zokrates_curly_parser = { package = "zokrates_parser", path = "third_party/ZoKratesCurly/zokrates_parser", optional = true } zokrates_curly_pest_ast = { package = "zokrates_pest_ast", path = "third_party/ZoKratesCurly/zokrates_pest_ast", optional = true } typed-arena = { version = "2.0", optional = true } log = "0.4" thiserror = "1.0" bellman = { git = "https://github.com/alex-ozdemir/bellman.git", branch = "mirage", optional = true } rug-polynomial = { version = "0.2.5", optional = true } rayon = { version = "1", optional = true } ff = { version = "0.12", optional = true } fxhash = "0.2" good_lp = { version = "1.1", features = ["lp-solvers", "coin_cbc"], default-features = false, optional = true } group = { version = "0.12", optional = true } lp-solvers = { version = "0.0.4", optional = true } serde_json = "1.0" serde = { version = "1.0", features = ["derive", "rc"] } serde_bytes = { version = "0.11", optional = true } bincode = { version = "1.3.3", optional = true } byteorder = { version = "1", optional = true } lang-c = { version = "0.10.1", optional = true } logos = "0.12" pairing = { version = "0.22", optional = true } pest = { version = "2.4", optional = true } pest_derive = { version = "2.1", optional = true } pest-ast = { version = "0.3", optional = true } from-pest = { version = "0.3", optional = true } itertools = "0.10" petgraph = { version = "0.6", optional = true } spartan = { version = "0.7.0", default-features = false, optional = true } merlin = { version = "3.0.0", optional = true } curve25519-dalek = {version = "3.2.0", features = ["serde"], optional = true} # TODO: kill paste = "1.0" im = "15" once_cell = "1" [dev-dependencies] quickcheck = "1" quickcheck_macros = "1" env_logger = "0.8" bls12_381 = "0.7" approx = "0.5.0" [features] default = [] # frontends c = ["lang-c"] zok = ["smt", "zokrates_parser", "zokrates_pest_ast", "typed-arena", "petgraph"] zokc = ["smt", "zokrates_curly_parser", "zokrates_curly_pest_ast", "typed-arena", "petgraph"] datalog = ["pest", "pest-ast", "pest_derive", "from-pest", "lazy_static"] # backends smt = ["rsmt2", "ieee754"] lp = ["good_lp", "lp-solvers"] aby = ["lp"] r1cs = ["bincode", "rayon"] poly = ["rug-polynomial"] spartan = ["r1cs", "dep:spartan", "merlin", "curve25519-dalek", "bincode", "gmp-mpfr-sys"] bellman = ["r1cs", "dep:bellman", "ff", "group", "pairing", "serde_bytes", "bincode", "gmp-mpfr-sys", "byteorder", "rayon"] [[example]] name = "circ" [[example]] name = "zk" required-features = ["r1cs"] [[example]] name = "cp" required-features = ["bellman", "poly"] [[example]] name = "zxi" required-features = ["smt", "zok"] [[example]] name = "zcxi" required-features = ["smt", "zokc"] [[example]] name = "zxc" required-features = ["smt", "zok"] [[example]] name = "opa_bench" required-features = ["lp", "aby"] [profile.release] debug = true