mirror of
https://github.com/vacp2p/zerokit.git
synced 2026-01-09 14:38:01 -05:00
While publishing the release on crate io it turned out that we can't use libraries without a version as it was for arc-circom. During the upgrade to the new version it was also discovered that it is possible to speed up input preparation for witness calculator by 4 times by switching from bigint to Fr:  it was also checked that it is also possible to use iden3 as a sub-module instead of copying code, but benchmarks showed that the new iden3 version with u256 calculations and subsequent conversion of the result to Fr is slower than the current implementation:  ---- - Updated dependencies to their latest versions, including ark-ff, ark-bn254, ark-std, and others to 0.5.0. - Refactored circuit and iden3calc modules to use Fr instead of BigInt for better type consistency. - Improved utility functions for type conversions between Fr and U256. - Adjusted Cargo.toml files for rln and utils to reflect new dependency versions and features. - Enhanced documentation and comments for clarity on changes made. This update ensures compatibility with the latest versions of the Ark framework and improves overall code quality.
99 lines
2.4 KiB
TOML
99 lines
2.4 KiB
TOML
[package]
|
|
name = "rln"
|
|
version = "0.7.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "APIs to manage, compute and verify zkSNARK proofs and RLN primitives"
|
|
documentation = "https://github.com/vacp2p/zerokit"
|
|
homepage = "https://vac.dev"
|
|
repository = "https://github.com/vacp2p/zerokit"
|
|
|
|
[lib]
|
|
crate-type = ["rlib", "staticlib"]
|
|
bench = false
|
|
|
|
# This flag disable cargo doctests, i.e. testing example code-snippets in documentation
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
# ZKP Generation
|
|
ark-bn254 = { version = "0.5.0", features = ["std"] }
|
|
ark-ff = { version = "0.5.0", features = ["std", "asm"] }
|
|
ark-serialize = { version = "0.5.0", features = ["derive"] }
|
|
ark-ec = { version = "0.5.0", default-features = false }
|
|
ark-std = { version = "0.5.0", default-features = false }
|
|
ark-groth16 = { version = "0.5.0", features = [
|
|
"parallel",
|
|
], default-features = false }
|
|
ark-relations = { version = "0.5.0", default-features = false, features = [
|
|
"std",
|
|
] }
|
|
ark-circom = { version = "0.5.0" }
|
|
ark-r1cs-std = { version = "0.5.0" }
|
|
|
|
# error handling
|
|
color-eyre = "0.6.2"
|
|
thiserror = "2.0.11"
|
|
|
|
# utilities
|
|
byteorder = "1.4.3"
|
|
cfg-if = "1.0"
|
|
num-bigint = { version = "0.4.6", default-features = false, features = [
|
|
"rand",
|
|
] }
|
|
num-traits = "0.2.19"
|
|
once_cell = "1.19.0"
|
|
lazy_static = "1.4.0"
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
ruint = { version = "1.12.4", features = ["rand", "serde", "ark-ff-04"] }
|
|
tiny-keccak = { version = "2.0.2", features = ["keccak"] }
|
|
utils = { package = "zerokit_utils", version = "0.5.2", path = "../utils/", default-features = false }
|
|
|
|
# serialization
|
|
prost = "0.13.1"
|
|
serde_json = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
|
|
document-features = { version = "=0.2.10", optional = true }
|
|
|
|
[dev-dependencies]
|
|
sled = "0.34.7"
|
|
criterion = { version = "0.4.0", features = ["html_reports"] }
|
|
|
|
[features]
|
|
default = ["parallel", "pmtree-ft"]
|
|
parallel = [
|
|
"ark-ec/parallel",
|
|
"ark-ff/parallel",
|
|
"ark-std/parallel",
|
|
"ark-groth16/parallel",
|
|
"utils/parallel",
|
|
]
|
|
fullmerkletree = ["default"]
|
|
arkzkey = []
|
|
stateless = []
|
|
|
|
# Note: pmtree feature is still experimental
|
|
pmtree-ft = ["utils/pmtree-ft"]
|
|
|
|
[[bench]]
|
|
name = "pmtree_benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "circuit_loading_benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "circuit_loading_arkzkey_benchmark"
|
|
harness = false
|
|
required-features = ["arkzkey"]
|
|
|
|
[[bench]]
|
|
name = "poseidon_tree_benchmark"
|
|
harness = false
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|