[package]
edition = "2024"
rust-version = "1.89.0"
name = "provekit_acvm"
version = "1.0.0-beta.20-alpha.1"
authors = ["The Noir Team <team@noir-lang.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The virtual machine that processes ACIR given a backend/proof system."
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/noir-lang/noir/"
resolver = "2"
[features]
bls12_381 = [
"acir/bls12_381",
"brillig_vm/bls12_381",
"acvm_blackbox_solver/bls12_381",
]
bn254 = [
"acir/bn254",
"brillig_vm/bn254",
"acvm_blackbox_solver/bn254",
]
[lib]
name = "provekit_acvm"
path = "src/lib.rs"
bench = false
[[test]]
name = "solver"
path = "tests/solver.rs"
[[bench]]
name = "arithmetic_solver"
path = "benches/arithmetic_solver.rs"
harness = false
[dependencies.acir]
version = "=1.0.0-beta.20-alpha.1"
default-features = false
package = "provekit_acir"
[dependencies.acvm_blackbox_solver]
version = "=1.0.0-beta.20-alpha.1"
default-features = false
package = "provekit_acvm_blackbox_solver"
[dependencies.brillig_vm]
version = "=1.0.0-beta.20-alpha.1"
default-features = false
package = "provekit_brillig_vm"
[dependencies.indexmap]
version = "^2.13.1"
[dependencies.itertools]
version = "0.14"
[dependencies.rustc-hash]
version = "2.1.1"
[dependencies.serde]
version = "1.0.136"
features = [
"derive",
"rc",
]
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tracing]
version = "0.1.40"
[dev-dependencies.ark-bls12-381]
version = "^0.5.0"
features = ["curve"]
default-features = false
[dev-dependencies.ark-bn254]
version = "^0.5.0"
features = ["curve"]
default-features = false
[dev-dependencies.ark-ff]
version = "^0.5.0"
features = ["asm"]
default-features = false
[dev-dependencies.bn254_blackbox_solver]
version = "=1.0.0-beta.20-alpha.1"
default-features = false
package = "provekit_bn254_blackbox_solver"
[dev-dependencies.criterion]
version = "^0.5.0"
[dev-dependencies.insta]
version = "1.47.2"
[dev-dependencies.num-bigint]
version = "0.4"
[dev-dependencies.pprof]
version = "^0.15.0"
features = [
"flamegraph",
"criterion",
]
[dev-dependencies.proptest]
version = "1.11.0"
features = [
"std",
"bit-set",
]
default-features = false
[lints.clippy]
cast_lossless = "warn"
clone_on_copy = "warn"
cloned_instead_of_copied = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
flat_map_option = "warn"
implicit_clone = "warn"
manual_is_variant_and = "warn"
manual_let_else = "warn"
map_unwrap_or = "warn"
match_wildcard_for_single_variants = "warn"
needless_borrows_for_generic_args = "warn"
needless_pass_by_ref_mut = "warn"
non_std_lazy_statics = "warn"
redundant_clone = "warn"
redundant_field_names = "warn"
result_large_err = "allow"
return_and_then = "warn"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
unnecessary_debug_formatting = "warn"
unnecessary_semicolon = "warn"
unnecessary_to_owned = "warn"
unnecessary_unwrap = "warn"
[lints.rust]
mismatched_lifetime_syntaxes = "allow"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unreachable_pub = "warn"
unsafe_code = "deny"
unused_import_braces = "warn"
unused_must_use = "warn"
unused_qualifications = "warn"