diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a05497e..46d494ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,14 +5,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] ### Added +- [\#53](https://github.com/openzklib/openzl/pull/53) Add Initial Halo2 Plugin - [\#37](https://github.com/openzklib/openzl/pull/37) Add BitDecomposition in eclair - [\#47](https://github.com/openzklib/openzl/pull/47) Migrate docs to main OpenZL repo - [\#36](https://github.com/openzklib/openzl/pull/36) Finish OpenZL migration feature requirements - [\#34](https://github.com/openzklib/openzl/pull/34) Migrate Poseidon from the Manta-Network codebase - [\#4](https://github.com/openzklib/openzl/pull/4) Add CI and Relevant Contribution Files - [\#3](https://github.com/openzklib/openzl/pull/3) Migrate some of OpenZL from the Manta-Network codebase -- [\#4](https://github.com/openzklib/openzl/pull/4) Add CI and Relevant Contribution Files -- [\#34](https://github.com/openzklib/openzl/pull/34) Migrate Poseidon from the Manta-Network codebase ### Changed diff --git a/plugins/halo2/Cargo.toml b/plugins/halo2/Cargo.toml new file mode 100644 index 00000000..b3a2890f --- /dev/null +++ b/plugins/halo2/Cargo.toml @@ -0,0 +1,37 @@ +[package] +name = "openzl-plugin-halo2" +version = "0.0.0" +edition = "2021" +readme = "README.md" +license = "MIT OR Apache-2.0" +repository = "https://github.com/openzklib/openzl" +homepage = "https://openzl.org" +documentation = "https://docs.rs/openzl-plugin-halo2" +categories = [""] +keywords = [""] +description = "Open ZL Halo2 Plugin" + +[package.metadata.docs.rs] +# To build locally: +# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --open +all-features = true +rustdoc-args = ["--cfg", "doc_cfg"] + +[badges] +is-it-maintained-issue-resolution = { repository = "openzklib/openzl" } +is-it-maintained-open-issues = { repository = "openzklib/openzl" } +maintenance = { status = "actively-developed" } + +[features] +# Standard Library +std = [ + "openzl-crypto/std", + "openzl-util/std", +] + +[dependencies] +eclair = { path = "../../eclair", default-features = false } +halo2_gadgets = { git = "https://github.com/openzklib/halo2", default-features = false } +halo2_proofs = { git = "https://github.com/openzklib/halo2", default-features = false } +openzl-crypto = { path = "../../openzl-crypto", default-features = false } +openzl-util = { path = "../../openzl-util", default-features = false } diff --git a/plugins/halo2/README.md b/plugins/halo2/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/plugins/halo2/README.md @@ -0,0 +1 @@ + diff --git a/plugins/halo2/src/compiler.rs b/plugins/halo2/src/compiler.rs new file mode 100644 index 00000000..ee09b30c --- /dev/null +++ b/plugins/halo2/src/compiler.rs @@ -0,0 +1,22 @@ +//! Compiler + +use crate::proofs::{arithmetic::Field, plonk::ConstraintSystem}; + +/// Compiler +pub struct Compiler +where + F: Field, +{ + /// Constraint System + cs: ConstraintSystem, +} + +/* + +/// +pub struct FieldVar; + +/// +pub struct Bool; + +*/ diff --git a/plugins/halo2/src/lib.rs b/plugins/halo2/src/lib.rs new file mode 100644 index 00000000..e88485bc --- /dev/null +++ b/plugins/halo2/src/lib.rs @@ -0,0 +1,16 @@ +//! Halo2 OpenZL Plugin + +#![cfg_attr(not(any(feature = "std", test)), no_std)] +#![cfg_attr(doc_cfg, feature(doc_cfg))] +#![forbid(rustdoc::broken_intra_doc_links)] +#![forbid(missing_docs)] + +extern crate alloc; + +#[doc(inline)] +pub use halo2_gadgets as gadgets; + +#[doc(inline)] +pub use halo2_proofs as proofs; + +pub mod compiler;