Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Rollback to pse halo2 and halo2wrong for first release (#5) * feat: move `Accumulator` to `accumulator.rs` * feat: update due to halo2 * feat: upgrade to use branch `feature/generic-instructions` of `halo2wrong` * refactor: rollback to `{halo2,halo2_wrong}` without challenge API and cleanup dependencies * chore: rename statement to instance and auxliary to witness * chore: use `finalize` instead of `code` * feat: add `Code::deployment` and `EvmLoader::deployment_code`; add example `evm-verifier-codegen` * fix: typo * feat: reduce generated evm verifier size; rename to `evm-verifier` and add another example `evm-verifier-with-accumulator` * fix: due to `halo2wrong` * feat: reorganize mods and traits * fix: allow empty `values` in `sum_*` and move them under `ScalarLoader` * ci: use `--all-features` for `cargo test` * fix: use same strategy for aggregation testing * fix: simplify trait `PlonkVerifier` again * fix: move system specified transcript under mod `system` * feat: add `quotient_poly` info in `Protocol` * feat: implement linearization for circom integration * feat: re-export loader's dependency for consumer * refactor: for circom's integration * tmp: pin `revm` to rev * fix: remove parentheses * fix: upgrade for multi-phase halo2 * feat: improve error reporting * chore: rename crate to snake case * feat: add `Domain` as an input of `PolynomialCommitmentScheme::read_proof` * refactor: for further integration * feat: generalize to suppoer also ipa and add builder fns to `system::halo2::Config` * feat: add `KzgDecider` for simple evm verifier * refactor: split `AccumulationScheme` and `AccumulatorEncoding` * refactor: split `PolynomialCommitmentScheme` and `MultiOpenScheme` * fix: not need sealed actually * fix: `chunk_size` should be `LIMBS` when recovering accumulator * feat: add `Expression::DistributePowers` to avoid stack overflow * fix: update and pin foundry * fix: move testing circuits under `system/halo2` * fix: allow accumulate single accumulator * feat: remove all patch and make less depending `halo2wrong` * Generalized `Halo2Loader` (#12) * feat: generalize `Protocol` for further usage * feat: add `EccInstruction::{fixed_base_msm,variable_base_msm,sum_with_const}` * chore: move `rand_chacha` as dev dependency * General refactor for further integration (#13) * feat: remove dev-dependency `foundry` and vendor necessary part of it * refactor: simplify traits and remove unused stuff * refactor: much less clone * feat: generalized `AccumulatorEncoding` for `EccInstructions` * feat: implement ipa pcs and accumulation (#14) * ci: add `svm-rs` and install `[email protected]` in job `test` (#16) * Update `EvmLoader` to generate Yul code instead of bytecode (#15) * Update `EvmLoader` to generate Yul instead of bytecode * feat: simplify * feat: Add missing end_gas_metering impl Co-authored-by: Han <[email protected]> Co-authored-by: Han <[email protected]> * fix: pin all `revm` dependencies (#18) * fix: looser trait bound on impl `CostEstimation` for `Plonk` (#20) * Restructure for more kind of verifier (#21) * feat: restructure to monorepo and expand the project scope to be generic (s)nark verifier * feat: reorganize mods and traits for further new features * refactor: simplify trait bounds * chore: use hyphen case for crate name (`snark_verifier` -> `snark-verifier`) * docs: add `#![deny(missing_docs)]` and simple documents * refactor: remove redudant check `validate_ec_point` (still doesn not support identity) * feat: expand more things and fix typos Co-authored-by: Chih Cheng Liang <[email protected]> Co-authored-by: Carlos Pérez <[email protected]> * fix: rustdoc warnings * chore: update dependencies (#24) * chore: update `halo2` and `halo2wrong` version (#25) * fix: enable `util::hash::poseidon` only when `feature = loader_halo2` (#27) * feat: working update to halo2-lib v0.3.0 * feat: update zkevm bench * feat: update recursion example * feat: switch poseidon native implementation to Scroll's audited version * fix: invert determinant only once in Cramer's rule * chore: fix doc * chore * chore: forgot to update halo2-base dependency in snark-verifier-sdk * Minor update (#8) * feat(sdk): remove duplicate code in `RangeWithInstanceCircuitBuilder::synthesize` * feat(sdk): Proof caching when using feature 'halo2-pse' * chore: sync with halo2-lib * chore: switch to halo2-lib release-0.3.0 branch * Moved `RangeWithInstanceCircuitBuilder` to halo2-lib (#9) * chore: sync with halo2-lib * fix: clippy * chore: fix halo2-base branch in sdk * feat: update to halo2-lib new types (#10) * feat: add `assert` for non-empty accumulators in `decide_all` (#11) * feat: use `zip_eq` for `Polynomial` add/sub (#12) * fix: git CI turn off all features * fix: `rotate_scalar` misbehaves on `i32::MIN` (#13) Should never actually be callable with such a large negative rotation * fix: cleanup code quality (#14) * fix: `split_by_ascii_whitespace` (#15) * fix: `batch_invert_and_mul` do not allow zeros (#16) * feat: verify proof in release mode (#17) Verify proof before caching it as extra safety * fix: add better error messages/docs for catching empty inputs (#18) * chore: add Cargo.lock * chore: update Cargo dependencies * feat: fix versions and tags for dependencies --------- Co-authored-by: Han <[email protected]> Co-authored-by: DoHoon Kim <[email protected]> Co-authored-by: Chih Cheng Liang <[email protected]> Co-authored-by: Carlos Pérez <[email protected]> Co-authored-by: dante <[email protected]> Co-authored-by: Jonathan Wang <[email protected]>
- Loading branch information