Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.1.6 rc0 #33

Closed
wants to merge 65 commits into from
Closed

Release 0.1.6 rc0 #33

wants to merge 65 commits into from

Commits on Oct 24, 2022

  1. 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`
    han0110 authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    916b29f View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. 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
    han0110 authored Oct 28, 2022
    Configuration menu
    Copy the full SHA
    2cd8b9d View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2022

  1. 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`
    han0110 authored Nov 8, 2022
    Configuration menu
    Copy the full SHA
    25dbaf5 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. Configuration menu
    Copy the full SHA
    5c31088 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Configuration menu
    Copy the full SHA
    ba167b7 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. 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]>
    DoHoonKim8 and han0110 authored Nov 17, 2022
    Configuration menu
    Copy the full SHA
    c5645e7 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    5e5de91 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2022

  1. Configuration menu
    Copy the full SHA
    50d69c1 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2022

  1. 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`)
    han0110 authored Dec 23, 2022
    Configuration menu
    Copy the full SHA
    dda7423 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2023

  1. Configuration menu
    Copy the full SHA
    6a518c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3f3da27 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2023

  1. feat: expand more things and fix typos

    Co-authored-by: Chih Cheng Liang <[email protected]>
    Co-authored-by: Carlos Pérez <[email protected]>
    3 people committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    5023293 View commit details
    Browse the repository at this point in the history
  2. fix: rustdoc warnings

    han0110 committed Jan 20, 2023
    Configuration menu
    Copy the full SHA
    8cc0b15 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #22 from han0110/feature/docs

    Add simple documents
    CPerezz authored Jan 20, 2023
    Configuration menu
    Copy the full SHA
    e4e0a4d View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2023

  1. Configuration menu
    Copy the full SHA
    2d5ef6b View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2023

  1. Configuration menu
    Copy the full SHA
    df03d89 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. Configuration menu
    Copy the full SHA
    f1265f5 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2023

  1. Configuration menu
    Copy the full SHA
    4ad803a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c9e2d2c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2db9f42 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2023

  1. Configuration menu
    Copy the full SHA
    396aea6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    53a30eb View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2023

  1. Configuration menu
    Copy the full SHA
    8b09067 View commit details
    Browse the repository at this point in the history
  2. chore: fix doc

    jonathanpwang committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    85c68b4 View commit details
    Browse the repository at this point in the history
  3. chore

    jonathanpwang committed Feb 21, 2023
    Configuration menu
    Copy the full SHA
    efec13b View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. Configuration menu
    Copy the full SHA
    2fd73ab View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2023

  1. 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
    jonathanpwang authored Apr 18, 2023
    Configuration menu
    Copy the full SHA
    57aaba5 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2023

  1. Moved RangeWithInstanceCircuitBuilder to halo2-lib (#9)

    * chore: sync with halo2-lib
    
    * fix: clippy
    jonathanpwang authored May 5, 2023
    Configuration menu
    Copy the full SHA
    aecfd45 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2023

  1. Configuration menu
    Copy the full SHA
    95e6b4a View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Configuration menu
    Copy the full SHA
    739c1f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b38400a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e24fa3c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f510177 View commit details
    Browse the repository at this point in the history
  5. fix: rotate_scalar misbehaves on i32::MIN (#13)

    Should never actually be callable with such a large negative rotation
    jonathanpwang authored May 22, 2023
    Configuration menu
    Copy the full SHA
    9bbe6da View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    11e0ebc View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. Configuration menu
    Copy the full SHA
    1820e9c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2641da5 View commit details
    Browse the repository at this point in the history
  3. feat: verify proof in release mode (#17)

    Verify proof before caching it as extra safety
    jonathanpwang authored May 23, 2023
    Configuration menu
    Copy the full SHA
    1e64c30 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7041c6f View commit details
    Browse the repository at this point in the history
  5. chore: add Cargo.lock

    jonathanpwang committed May 23, 2023
    Configuration menu
    Copy the full SHA
    eee5ec2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9dbe913 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Configuration menu
    Copy the full SHA
    8d9fd64 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. Minor: merge v0.1.1 to develop (#21)

    Just cargo fixes
    jonathanpwang authored Jul 7, 2023
    Configuration menu
    Copy the full SHA
    4c4e9e0 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2023

  1. feat: remove use of env vars for circuit configuration (#22)

    * feat: remove use of env vars for circuit configuration
    
    This is a companion to axiom-crypto/halo2-lib#92
    
    * chore: remove rustfmt CI check
    
    PSE upstream uses different rustfmt configuration than us, so some files
    disagree in formatting
    jonathanpwang authored Jul 20, 2023
    Configuration menu
    Copy the full SHA
    7a0fd96 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2023

  1. chore: fix dependencies

    jonathanpwang committed Jul 21, 2023
    Configuration menu
    Copy the full SHA
    cbf7219 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. Feat/read pk buffer capacity (#24)

    * feat: change default `read_pk` buffer capacity to 1MB
    
    * feat: add bench for read_pk
    jonathanpwang authored Jul 27, 2023
    Configuration menu
    Copy the full SHA
    4aba23a View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. [Update] use ff v0.13 (#28)

    * feat(snark-verifier): update to ff v0.13
    
    * feat(snark-verifier): update examples
    
    * feat(snark-verifier-sdk): update to ff v0.13
    
    * fix: conversion from BaseConfigParams to AggregationConfigParams
    
    * chore: pin poseidon rev
    
    * refactor(sdk): add `AggregationCtxBuilder` for aggregation
    
    Contains the populated builder after aggregating, without creating the
    `AggregationCircuit`. Doesn't need config parameters and break points.
    
    * chore: update cargo
    jonathanpwang authored Aug 15, 2023
    Configuration menu
    Copy the full SHA
    4eded17 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. [Feat] Universal verifier circuit (#26)

    * feat: add example with different vkey as private witness
    
    Same aggregation circuit, verifies different snarks with different vkeys
    (same standard plonk gate, but different selectors / copy constraints)
    
    * fix: save break points when generating agg circuit for first time (#23)
    
    * fix: save break points when generating agg circuit for first time
    
    * chore: add circuit files to gitignore
    
    * feat: halo2-lib universal verifier example
    
    * chore: cargo fix
    
    * feat: allow circuit size (number of rows) to be loaded as witness
    
    * chore: clippy fix
    
    * fix(n_as_witness): computation of shifts depends on `omega`
    
    `omega` which changes when `k` changes, so all shift computations need
    to be done as witness. Current implementation is likely not the most
    optimal. Instead of storing `shift` as `omega^i`, we store just
    `Rotation(i)`. We de-duplicate when possible using `BTreeMap` of
    `Rotation`. Note you must use `Rotation` instead of `F` for `BTreeMap`
    because the ordering of `omega^i` may change depending on `omega`.
    
    * fix: temp remove pow_var
    
    * add universal verifier range check test
    
    * chore: do not serialize domain_as_witness if none
    
    * Revert "fix: temp remove pow_var"
    
    This reverts commit 69f648e.
    
    * fix: halo2_lib example
    
    * test: halo2_lib with variable lookup table passes
    
    * Bump version to 0.1.3
    
    ---------
    
    Co-authored-by: Roshan <[email protected]>
    jonathanpwang and rpalakkal authored Aug 18, 2023
    Configuration menu
    Copy the full SHA
    f1d12e5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d98145 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f309ede View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2023

  1. Update: use halo2-lib v0.4.0 (#29)

    * feat: update snark-verifier
    
    * update: use `halo2-lib` v0.4.0
    jonathanpwang authored Aug 28, 2023
    Configuration menu
    Copy the full SHA
    3aadbdf View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2023

  1. feat: load k as witness and compute n = 2^k and omega from k (#…

    …30)
    
    * feat: load `k` as witness and compute `n = 2^k` and `omega` from `k`
    
    Removes need to make `omega` a public output in universal verifier.
    
    * fix: bit_length
    jonathanpwang authored Sep 1, 2023
    Configuration menu
    Copy the full SHA
    10ef300 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2023

  1. Move OptimizedPoseidonSpec to halo2-base (#31)

    * chore: move `OptimizedPoseidonSpec` to `halo2-base`
    
    * Bump version to 0.1.5 and remove poseidon-rs dep
    jonathanpwang authored Sep 8, 2023
    Configuration menu
    Copy the full SHA
    260962d View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2023

  1. Configuration menu
    Copy the full SHA
    1f5ebd3 View commit details
    Browse the repository at this point in the history
  2. chore: nit

    jonathanpwang committed Sep 10, 2023
    Configuration menu
    Copy the full SHA
    a0fa8ec View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2023

  1. [feat] change yul code into Solidity assembly (#32)

    feat: change yul code into Solidity assembly
    
    Just changes to wrapping yul in solidity assembly block
    jonathanpwang authored Sep 11, 2023
    Configuration menu
    Copy the full SHA
    df944c2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f3f6f7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d8400e6 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2023

  1. chore: snark-verifier re-exports halo2-base, halo2-ecc (#38)

    and `snark-verifier-sdk` re-exports `snark-verifier`. This is to
    minimize cargo dependency / version issues until we publish to crates.io.
    jonathanpwang authored Oct 22, 2023
    Configuration menu
    Copy the full SHA
    bba2bb7 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. [feat] make assembly block Solidity memory safe (#39)

    * feat: make assembly block Solidity memory safe
    
    * chore: add back example solidity code
    jonathanpwang authored Oct 23, 2023
    Configuration menu
    Copy the full SHA
    39ab9d3 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Configuration menu
    Copy the full SHA
    1f97d29 View commit details
    Browse the repository at this point in the history
  2. [chore] add cargo audit and update dependencies (#40)

    * chore: add `cargo audit` and update dependencies
    
    disabling zkevm benches due to versioning issues
    
    * chore: autobenches false
    
    * fix: audit-check CI
    jonathanpwang authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    ffdd599 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. [chore] fix hyperlinks in docs (#41)

    chore: fix hyperlinks in docs
    jonathanpwang authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    055527a View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2023

  1. [chore] separate revm import into separate feature (#44)

    * chore: import `ruint` separately to not rely on `revm`
    
    * feat: add feature `revm` to toggle `revm` import
    
    Separates `revm` import, which is only used for testing EVM execution,
    from `loader_evm` feature, which is used more broadly for generating
    proofs to be sent to on-chain verifier.
    
    * chore: add CI to check `--release` compilation with assembly
    
    * fix: import under revm
    jonathanpwang authored Nov 4, 2023
    Configuration menu
    Copy the full SHA
    1cf2986 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. Configuration menu
    Copy the full SHA
    ebea343 View commit details
    Browse the repository at this point in the history