Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/target
.idea
*.hex
/generated-bins/prover.bin

# Circuit binaries are generated at build time by build.rs
/generated-bins/
108 changes: 54 additions & 54 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

49 changes: 37 additions & 12 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ rand = "0.9"
aes-gcm = "0.10" # AES-256-GCM (quantum-safe with 256-bit keys)

# Quantus crypto dependencies (aligned with chain)
qp-rusty-crystals-dilithium = { version = "2.1.0" }
qp-rusty-crystals-hdwallet = { version = "2.0.0" }
# Chain primitive (same branch as node); Cargo finds crate by name in repo
qp-dilithium-crypto = { version = "0.2.2", features = ["serde"] }
qp-poseidon = { version = "1.1.0" }
qp-rusty-crystals-dilithium = { git = "https://github.com/Quantus-Network/qp-rusty-crystals.git", branch = "illuzen/new-poseidon-api" }
qp-rusty-crystals-hdwallet = { git = "https://github.com/Quantus-Network/qp-rusty-crystals.git", branch = "illuzen/new-poseidon-api" }
# Chain primitive
qp-dilithium-crypto = { git = "https://github.com/Quantus-Network/chain.git", branch = "illuzen/no-length-trie" }
qp-poseidon = { git = "https://github.com/Quantus-Network/qp-poseidon.git", branch = "illuzen/injective-to-felts" }

# HTTP client for Subsquid queries
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
Expand All @@ -77,14 +77,39 @@ subxt-metadata = "0.44"

# ZK proof generation (aligned with chain)
anyhow = "1.0"
qp-wormhole-circuit = { version = "1.0.7", default-features = false, features = ["std"] }
qp-wormhole-prover = { version = "1.0.7", default-features = false, features = ["std"] }
qp-wormhole-verifier = { version = "1.0.7", default-features = false, features = ["std"] }
qp-wormhole-aggregator = { version = "1.0.7", default-features = false, features = ["rayon", "std"] }
qp-wormhole-inputs = { version = "1.0.7", default-features = false, features = ["std"] }
qp-zk-circuits-common = { version = "1.0.7", default-features = false, features = ["std"] }
qp-plonky2 = { version = "1.1.3", default-features = false, features = ["rand", "std"] }
qp-wormhole-circuit = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["std"] }
qp-wormhole-circuit-builder = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity" }
qp-wormhole-prover = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["std"] }
qp-wormhole-verifier = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["std"] }
qp-wormhole-aggregator = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["rayon", "std"] }
qp-wormhole-inputs = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["std"] }
qp-zk-circuits-common = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity", default-features = false, features = ["std"] }
qp-plonky2 = { git = "https://github.com/Quantus-Network/qp-plonky2.git", branch = "illuzen/new-rate", default-features = false, features = ["rand", "std"] }

[build-dependencies]
qp-wormhole-circuit-builder = { git = "https://github.com/Quantus-Network/qp-zk-circuits.git", branch = "illuzen/non-injectivity" }

[patch.crates-io]
# Quantus dependencies
qp-poseidon = { git = "https://github.com/Quantus-Network/qp-poseidon.git", branch = "illuzen/injective-to-felts" }
qp-poseidon-core = { git = "https://github.com/Quantus-Network/qp-poseidon.git", branch = "illuzen/injective-to-felts" }
qp-poseidon-constants = { git = "https://github.com/Quantus-Network/qp-poseidon-constants.git", tag = "v1.1.0" }
qp-plonky2 = { git = "https://github.com/Quantus-Network/qp-plonky2.git", branch = "illuzen/new-rate" }
qp-plonky2-verifier = { git = "https://github.com/Quantus-Network/qp-plonky2.git", branch = "illuzen/new-rate" }
qp-plonky2-core = { git = "https://github.com/Quantus-Network/qp-plonky2.git", branch = "illuzen/new-rate" }
qp-plonky2-field = { git = "https://github.com/Quantus-Network/qp-plonky2.git", branch = "illuzen/new-rate" }
qp-rusty-crystals-dilithium = { git = "https://github.com/Quantus-Network/qp-rusty-crystals.git", branch = "illuzen/new-poseidon-api" }
qp-rusty-crystals-hdwallet = { git = "https://github.com/Quantus-Network/qp-rusty-crystals.git", branch = "illuzen/new-poseidon-api" }

[dev-dependencies]
tempfile = "3.8.1"
serial_test = "3.1"

# Optimize build scripts and their dependencies in dev mode.
# This is critical for circuit generation which is CPU-intensive.
# Without this, circuit generation takes ~10 minutes instead of ~30 seconds.
[profile.dev.build-override]
opt-level = 3

[profile.release.build-override]
opt-level = 3
Loading
Loading