mirror of
https://github.com/logos-storage/circom-compat.git
synced 2026-01-02 13:03:08 +00:00
Relax dependencies + remove Cargo.lock (#77)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
This commit is contained in:
parent
bc60de984f
commit
936e9de410
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: 1.74.0
|
||||
toolchain: 1.75.0
|
||||
override: true
|
||||
|
||||
# Install for Anvil
|
||||
@ -48,7 +48,7 @@ jobs:
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: 1.74.0
|
||||
toolchain: 1.75.0
|
||||
override: true
|
||||
components: rustfmt, clippy
|
||||
- name: cargo fmt
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/target
|
||||
Cargo.lock
|
||||
|
||||
5947
Cargo.lock
generated
5947
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
55
Cargo.toml
55
Cargo.toml
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "ark-circom"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
edition = "2021"
|
||||
description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust"
|
||||
license = "MIT OR Apache-2.0"
|
||||
|
||||
@ -10,43 +10,44 @@ crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
# WASM operations
|
||||
wasmer = "4.3.0"
|
||||
wasmer-wasix = { version = "0.20.0" }
|
||||
fnv = { version = "=1.0.7", default-features = false }
|
||||
num = { version = "=0.4.0" }
|
||||
num-traits = { version = "=0.2.15", default-features = false }
|
||||
num-bigint = { version = "=0.4.3", default-features = false, features = ["rand"] }
|
||||
wasmer = "4.4.0"
|
||||
wasmer-wasix = { version = "0.28.0" }
|
||||
fnv = { version = "1.0.7", default-features = false }
|
||||
num = { version = "0.4.3" }
|
||||
num-traits = { version = "0.2.16", default-features = false }
|
||||
num-bigint = { version = "0.4.3", default-features = false, features = ["rand"] }
|
||||
|
||||
# ZKP Generation
|
||||
ark-crypto-primitives = { version = "=0.4.0" }
|
||||
ark-ec = { version = "=0.4.2", default-features = false, features = ["parallel"] }
|
||||
ark-ff = { version = "=0.4.2", default-features = false, features = ["parallel", "asm"] }
|
||||
ark-std = { version = "=0.4.0", default-features = false, features = ["parallel"] }
|
||||
ark-bn254 = { version = "=0.4.0" }
|
||||
ark-groth16 = { version = "=0.4.0", default-features = false, features = ["parallel"] }
|
||||
ark-poly = { version = "=0.4.2", default-features = false, features = ["parallel"] }
|
||||
ark-relations = { version = "=0.4.0", default-features = false }
|
||||
ark-serialize = { version = "=0.4.2", default-features = false }
|
||||
ark-crypto-primitives = { version = "0.4.0" }
|
||||
ark-ec = { version = "0.4.2", default-features = false, features = ["parallel"] }
|
||||
ark-ff = { version = "0.4.2", default-features = false, features = ["parallel", "asm"] }
|
||||
ark-std = { version = "0.4.0", default-features = false, features = ["parallel"] }
|
||||
ark-bn254 = { version = "0.4.0" }
|
||||
ark-groth16 = { version = "0.4.0", default-features = false, features = ["parallel"] }
|
||||
ark-poly = { version = "0.4.2", default-features = false, features = ["parallel"] }
|
||||
ark-relations = { version = "0.4.0", default-features = false }
|
||||
ark-serialize = { version = "0.4.2", default-features = false }
|
||||
|
||||
|
||||
# decoding of data
|
||||
hex = "=0.4.3"
|
||||
byteorder = "=1.4.3"
|
||||
hex = "0.4.3"
|
||||
byteorder = "1.4.3"
|
||||
|
||||
# ethereum compat
|
||||
ethers-core = { version = "=2.0.7", default-features = false, optional = true }
|
||||
ethers-core = { version = "2.0.7", default-features = false, optional = true }
|
||||
|
||||
# error handling
|
||||
thiserror = "=1.0.39"
|
||||
color-eyre = "=0.6.2"
|
||||
criterion = "=0.3.6"
|
||||
thiserror = "1.0.39"
|
||||
color-eyre = "0.6.2"
|
||||
|
||||
cfg-if = "=1.0.0"
|
||||
cfg-if = "1.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
hex-literal = "=0.2.2"
|
||||
tokio = { version = "=1.29.1", features = ["macros"] }
|
||||
serde_json = "=1.0.94"
|
||||
ethers = "=2.0.7"
|
||||
criterion = "0.5.1"
|
||||
hex-literal = "0.4.1"
|
||||
tokio = { version = "1.29.1", features = ["macros"] }
|
||||
serde_json = "1.0.94"
|
||||
ethers = "2.0.7"
|
||||
|
||||
[[bench]]
|
||||
name = "groth16"
|
||||
|
||||
@ -54,6 +54,7 @@ assert!(verified);
|
||||
## Running the tests
|
||||
|
||||
Tests require the following installed:
|
||||
|
||||
1. [`solc`](https://solidity.readthedocs.io/en/latest/installing-solidity.html). We also recommend using [solc-select](https://github.com/crytic/solc-select) for more flexibility.
|
||||
2. [`ganache-cli`](https://github.com/trufflesuite/ganache-cli#installation)
|
||||
|
||||
@ -65,13 +66,10 @@ Tests require the following installed:
|
||||
- [x] Proof generations and verification using Arkworks
|
||||
- [ ] CLI for common operations
|
||||
|
||||
## Known limitations
|
||||
|
||||
Currently, due to an issue in our upstream (https://github.com/wasmerio/wasmer/issues/4072), this crate works as expected only up to Rust version `1.67.0`; in newer Rust versions, `wasmer` is currently unsound.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
This library would not have been possibly without the great work done in:
|
||||
|
||||
- [`zkutil`](https://github.com/poma/zkutil/)
|
||||
- [`snarkjs`](https://github.com/iden3/snarkjs/)
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
[toolchain]
|
||||
channel = "stable"
|
||||
version = "1.74.0"
|
||||
version = "1.75.0"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user