This repository contains the Zakura Common libraries: the foundational Rust crates used in Zakura and made available for the Zcash ecosystem. Use this stack in your wallets or in other tools for better performance.
zakura-primitives(forked fromzcash_primitives 0.30.0)zakura-keys(forked fromzcash_keys 0.16.1)
zakura-orchard(forked fromorchard 0.15.5)zakura-sapling-crypto(forked fromsapling-crypto 0.7.0)zakura-proofs(forked fromzcash_proofs 0.30.0)
zakura-halo2-proofs(forked fromhalo2_proofs 0.3.5)zakura-halo2-gadgets(forked fromhalo2_gadgets 0.5.0)zakura-halo2-poseidon(forked fromhalo2_poseidon 0.1.0)zakura-halo2-legacy-pdqsort(forked fromhalo2_legacy_pdqsort 0.1.0)
zakura-pairing(forked frompairing 0.23.0)zakura-bls12-381(forked frombls12_381 0.8.0)zakura-jubjub(forked fromjubjub 0.10.0)zakura-bellman(forked frombellman 0.14.0)zakura-pasta-curves(forked frompasta_curves 0.5.2)zakura-sinsemilla(forked fromsinsemilla 0.1.0)zakura-reddsa(forked fromreddsa 0.5.2)zakura-redjubjub(forked fromredjubjub 0.8.0)
zakura-redjubjub is a thin wrapper over zakura-reddsa, so the two are maintained together.
rust-toolchain.toml pins the development toolchain to
Rust 1.97.1, so cargo in a checkout (builds, Clippy, rustfmt, and the
benchmarks in crates/orchard/benches)
uses the same compiler for everyone. The crates themselves keep a minimum
supported Rust version of 1.91 (rust-version in Cargo.toml),
which CI builds separately; raising the MSRV is a consumer-visible change,
while bumping the development pin is not. The workspace uses Cargo's
MSRV-aware resolver, so cargo update prefers dependency releases that the
1.91 toolchain can build. To reproduce the MSRV check locally:
rustup toolchain install 1.91.0 --profile minimal
cargo +1.91.0 check --locked --workspaceAll code in this repository is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.