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

[wip] Sync halo2 lib 0.4.0 #80

Merged
merged 31 commits into from
Jan 12, 2024
Merged

[wip] Sync halo2 lib 0.4.0 #80

merged 31 commits into from
Jan 12, 2024

Commits on Oct 8, 2023

  1. Configuration menu
    Copy the full SHA
    7bedb67 View commit details
    Browse the repository at this point in the history
  2. modify previous commit

    Velaciela committed Oct 8, 2023
    Configuration menu
    Copy the full SHA
    4c12249 View commit details
    Browse the repository at this point in the history
  3. Expose mod permutation and re-export permutation::keygen::Assembly (

    privacy-scaling-explorations#149)
    
    * feat: expose mod ule `permutation` and re-export `permutation::keygen::Assembly`
    
    * feat: derive `lone` for `permutation::keygen::Assembly`
    
    * feat: bump MSRV for `inferno`
    han0110 authored and Velaciela committed Oct 8, 2023
    Configuration menu
    Copy the full SHA
    323f403 View commit details
    Browse the repository at this point in the history
  4. change: Migrate workspace to pasta_curves-0.5 (privacy-scaling-explor…

    …ations#157)
    
    * change: Migrate workspace to pasta_curves-0.5
    
    This ports the majority of the workspace to the `pasta_curves-0.5.0`
    leaving some tricky edge-cases that we need to handle carefully.
    
    Resolves: privacy-scaling-explorations#132
    
    * fix: Complete latest trait bounds to compile halo2proofs
    
    * change: Migrate examples & benches to pasta 0.5
    
    * change: Migrate halo2_gadgets to pasta-0.5
    
    * change: Update gadgets outdated code with latest upstream
    
    * fix: Sha3 gadget circuit
    
    * fix: doc tests
    
    * chore: Update merged main
    
    * fix: Apply review suggestions
    CPerezz authored and Velaciela committed Oct 8, 2023
    Configuration menu
    Copy the full SHA
    233dbc6 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. fix previous commit

    Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    6adc633 View commit details
    Browse the repository at this point in the history
  2. Extend Circuit trait to take parameters in config (privacy-scaling-ex…

    …plorations#168)
    
    * Extend Circuit trait to take parameters in config
    
    The Circuit trait is extended with the following:
    ```
    pub trait Circuit<F: Field> {
        /// [...]
        type Params: Default;
    
        fn params(&self) -> Self::Params {
            Self::Params::default()
        }
    
        fn configure_with_params(meta: &mut ConstraintSystem<F>, params: &Self::Params) -> Self::Config {
            Self::configure(meta)
        }
    
        fn configure(meta: &mut ConstraintSystem<F>) -> Self::Config;
    }
    ```
    
    This allows runtime parametrization of the circuit configuration.  The extension to the Circuit trait has been designed to minimize the breaking change: existing circuits only need to define the associated `type Params`.
    
    Unfortunately "Associated type defaults" are unstable in Rust, otherwise this would be a non-breaking change.  See rust-lang/rust#29661
    
    * Implement circuit params under feature flag
    
    * Don't overwrite configure method
    
    * Fix doc test
    ed255 authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    b26a0ae View commit details
    Browse the repository at this point in the history
  3. Allow halo2 constraint names to have non static names (privacy-scalin…

    …g-explorations#156)
    
    * static ref to String type in Gates, Constraints, VirtualCell, Argument
    
    * 'lookup'.to_string()
    
    * return &str for gate name and constriant_name, also run fmt
    
    * Update halo2_gadgets/Cargo.toml
    
    Co-authored-by: Han <[email protected]>
    
    * upgrade rust-toochain
    
    ---------
    
    Co-authored-by: Carlos Pérez <[email protected]>
    Co-authored-by: Han <[email protected]>
    3 people authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    e577808 View commit details
    Browse the repository at this point in the history
  4. Improve halo2 query calls (privacy-scaling-explorations#154)

    * return expression from cell
    
    * add example
    
    * selector
    
    * recurse Expression to fill in index
    
    * minimized changes from the original
    
    * backword compatible meta.query_X & challange.expr()
    
    * cargo fmt
    
    * fixed lookup to pass all tests
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * Update comments
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * update
    
    Co-authored-by: Brecht Devos <[email protected]>
    
    * add primitives.rs back
    
    * remove example2
    
    * backward compatible meta.query_X & Column.cur(), next(), prev(), at(usize)
    
    * impl Debug & make side effects only when query.index.is_none()
    
    * change impl Debug for Expression instead & revert test in plonk_api
    
    * upgrade rust-toolchain
    
    * Update halo2_proofs/src/plonk/circuit.rs
    
    Co-authored-by: Han <[email protected]>
    
    * Update halo2_proofs/src/plonk/circuit.rs
    
    Co-authored-by: Han <[email protected]>
    
    * ran clippy
    
    * Update halo2_proofs/src/plonk/circuit.rs
    
    Co-authored-by: Han <[email protected]>
    
    ---------
    
    Co-authored-by: Brecht Devos <[email protected]>
    Co-authored-by: Han <[email protected]>
    3 people authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    b05bc4d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dd22b61 View commit details
    Browse the repository at this point in the history
  6. fix: Fix serialization for VerifyingKey (privacy-scaling-explorations…

    …#178)
    
    Now the value returned when the number of selectors is a multiple of 8
    is correct.
    
    Resolves: privacy-scaling-explorations#175
    CPerezz authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    e56d03f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    828b21a View commit details
    Browse the repository at this point in the history
  8. add a constructor (privacy-scaling-explorations#164)

    * add a constructor
    
    * add more comment
    
    * fix as review
    
    * remove clone
    
    * remove
    
    * no need to use new variable
    
    * change comment
    
    * fix clippy
    
    * rename to from_parts
    
    * remove n declaration
    Ethan-000 authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    f88dc85 View commit details
    Browse the repository at this point in the history
  9. feat: send sync region (privacy-scaling-explorations#180)

    * feat: send / sync region
    
    * Update layout.rs
    
    * update
    
    * lol
    
    * debug
    
    * Update keygen.rs
    
    * Update keygen.rs
    
    * Update keygen.rs
    
    * Update keygen.rs
    
    * thread-safe-region feature flag
    
    * cleanup
    
    * patch dev-graph
    
    * patch non-determinism in mapping creation
    
    * reduce mem usage for vk and pk
    
    * mock proving examples
    
    * swap for hashmap for insertion speed
    
    * reduce update overhead
    
    * replace BTree with Vec
    
    * add benchmarks
    
    * make the benchmarks massive
    
    * patch clippy
    
    * simplify lifetimes
    
    * patch benches
    
    * Update halo2_proofs/src/plonk/permutation/keygen.rs
    
    Co-authored-by: Han <[email protected]>
    
    * Update halo2_proofs/examples/vector-mul.rs
    
    Co-authored-by: Han <[email protected]>
    
    * rm benches
    
    * order once
    
    * patch lints
    
    ---------
    
    Co-authored-by: Han <[email protected]>
    2 people authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    b2450cd View commit details
    Browse the repository at this point in the history
  10. fix previous commit

    Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    57831cc View commit details
    Browse the repository at this point in the history
  11. Fix parallelize workload imbalance (privacy-scaling-explorations#186)

    * fix parallelize workload imbalance
    
    * remove the need of unsafe
    mratsim authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    7a80259 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d171a04 View commit details
    Browse the repository at this point in the history
  13. fix: explicitly define mds diff type (privacy-scaling-explorations#196)

    * fix: explicitly define mds diff type
    
    * rm paren
    alexander-camuto authored and Velaciela committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    669a670 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d19480a View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. implement native shuffle argument and api

    fix: remove nonsense comment
    
    strictly check shuffle rows
    
    address doc typos
    
    move compression into product commitment
    
    typo
    
    add shuffle errors for `verify_at_rows_par`
    
    dedup expression evaluation
    
    cargo fmt
    
    fix fields in sanity-checks feature
    kilic authored and Velaciela committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    fe426ae View commit details
    Browse the repository at this point in the history
  2. feat: public cells to allow for implementations of custom Layouter (p…

    …rivacy-scaling-explorations#192)
    
    * feat: public cells
    
    * Update mds.rs
    
    * Update mds.rs
    
    * Update single_pass.rs
    
    Co-authored-by: Han <[email protected]>
    
    * bump toolchain to resolve errors
    
    * fix clippy errors for CI run
    
    * rustfmt post clippy
    
    * plz let it be the last lint
    
    * patch clippy lints in gadgets
    
    * clippy lints for sha256 bench
    
    * patch halo2proof benches
    
    * Update assigned.rs
    
    * Update halo2_gadgets/src/poseidon/primitives/mds.rs
    
    Co-authored-by: Han <[email protected]>
    
    * Update halo2_gadgets/src/poseidon/primitives/mds.rs
    
    Co-authored-by: Han <[email protected]>
    
    ---------
    
    Co-authored-by: Han <[email protected]>
    2 people authored and Velaciela committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    b590427 View commit details
    Browse the repository at this point in the history
  3. Synchronize with upstream (privacy-scaling-explorations#199)

    * refactor: add default impl for `SyncDeps` for backward compatability
    
    * feat: pick changes from zcash#728 and changes of flag `test-dev-graph`
    
    * feat: pick changes from zcash#622
    
    * feat: pick changes about mod `circuit` and mod `dev`
    
    * feat: pick rest changes of `halo2_proofs`
    
    * fix: when `--no-default-features`
    
    * ci: sync from upstream, and deduplicate jobs when
    push to `main`, and remove always failing job `codecov`.
    
    * fix: make `commit_zk` runnable when `--no-default-features`
    han0110 authored and Velaciela committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    657f98b View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. chore: Update rust-toolchain to 1.66 for testing (privacy-scaling-exp…

    …lorations#208)
    
    * chore: Update rust-toolchain to 1.66 for testing
    
    Note that tests will not compile due to the silent MSRV bump in
    `blake2b_simd`.
    
    Hence, we need to use `1.66` as toolchain.
    
    Resolves: privacy-scaling-explorations#207
    
    * change: UIpdate MSRVs in Cargo.toml
    CPerezz authored and Velaciela committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    bf08bb4 View commit details
    Browse the repository at this point in the history
  2. fix: clippy (privacy-scaling-explorations#203)

    * fix: clippy
    
    * fmt
    
    * fix: Final clippy complains & adjustments
    
    ---------
    
    Co-authored-by: CPerezz <[email protected]>
    2 people authored and Velaciela committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    f47c31d View commit details
    Browse the repository at this point in the history
  3. Implement Sum and Product for Expression (privacy-scaling-exploration…

    …s#209)
    
    * Make it Eq to make it easier for tests
    
    * Implement Sum and Product for Expression
    
    * Make it readable
    pnyda authored and Velaciela committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    75be70d View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

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

Commits on Oct 25, 2023

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

Commits on Dec 19, 2023

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

Commits on Jan 9, 2024

  1. Sync halo2 lib 0.4.0 merging (#81)

    * Use thread pool for assign_regions (#57)
    
    * feat: use rayon threadpool
    
    * feat: add UT for many subregions
    
    * refact: move common struct out to module level
    
    * refact: reuse common configure code
    
    * fix ci errors
    
    ---------
    
    Co-authored-by: kunxian xia <[email protected]>
    
    * Move `env_logger` dependency to dev-depdendencies (only for test). (#69)
    
    * sync ff/group 0.13
    
    * fix clippy
    
    * fix clippy
    
    * fmg
    
    * [FEAT] Upgrading table16 for SHA256 (#73)
    
    * upgrade sha256
    
    * fix clippy
    
    * Bus auto (#72)
    
    * bus: expose global offset of regions
    
    * bus-auto: add query_advice and query_fixed function in witness generation
    
    * bus-auto: fix clippy
    
    ---------
    
    Co-authored-by: Aurélien Nicolas <[email protected]>
    
    * fix-tob-scroll-21 (#59)
    
    * fix-tob-scroll-21
    
    * expose param field for re-randomization
    
    * enable accessing for table16 (#75)
    
    * chore: update poseidon link
    
    * merge sha256 gadget changes
    
    * Fix the CI errors (#78)
    
    * cargo fmt
    
    * fix clippy error
    
    * Feat: switch to logup scheme for lookup argument  (#71)
    
    * Multi-input mv-lookup. (#49)
    
    * Add mv_lookup.rs
    
    * mv_lookup::prover, mv_lookup::verifier
    
    * Replace lookup with mv_lookup
    
    * replace halo2 with mv lookup
    
    Co-authored-by: ying tong <[email protected]>
    
    * cleanups
    
    Co-authored-by: ying tong <[email protected]>
    
    * ConstraintSystem: setup lookup_tracker
    
    Co-authored-by: Andrija <[email protected]>
    
    * mv_lookup::hybrid_prover
    
    Co-authored-by: Andrija <[email protected]>
    
    * WIP
    
    * mv_multi_lookup: enable lookup caching
    
    Co-authored-by: therealyingtong <[email protected]>
    
    * Rename hybrid_lookup -> lookup
    
    * Chunk lookups using user-provided minimum degree
    
    Co-authored-by: Andrija <[email protected]>
    
    * mv_lookup bench
    
    Co-authored-by: Andrija <[email protected]>
    
    * Introduce counter feature for FFTs and MSMs
    
    Co-authored-by: Andrija <[email protected]>
    
    * Fix off-by-one errors in chunk_lookup
    
    Co-authored-by: Andrija <[email protected]>
    
    * bench wip
    
    * time evaluate_h
    
    * KZG
    
    * more efficient batch inversion
    
    * extended lookup example
    
    * Finalize mv lookup
    
    Author: therealyingtong <[email protected]>
    
    * Remove main/
    
    * Fix according to the comments
    
    * replace scan with parallel grand sum computation
    
    * Revert Cargo.lock
    
    * mv lookup Argument name
    
    * parallel batch invert
    
    ---------
    
    Co-authored-by: Andrija <[email protected]>
    Co-authored-by: ying tong <[email protected]>
    Co-authored-by: therealyingtong <[email protected]>
    
    * fmt
    
    * fix unit test
    
    * fix clippy errors
    
    * add todo in mv_lookup's prover
    
    * fmt and clippy
    
    * fix clippy
    
    * add detailed running time of steps in logup's prover
    
    * fmt
    
    * add more log hooks
    
    * more running time logs
    
    * use par invert
    
    * use sorted-vector to store how many times a table element occurs in input
    
    * par the process to get inputs_inv_sum
    
    * use par
    
    * fix par
    
    * add feature to skip inv sums
    
    * add new feature flag
    
    * fix clippy error
    
    ---------
    
    Co-authored-by: Sphere L <[email protected]>
    Co-authored-by: Andrija <[email protected]>
    Co-authored-by: ying tong <[email protected]>
    Co-authored-by: therealyingtong <[email protected]>
    
    * fix some simple building errs
    
    * upgrade pathfinder_simd to newer version as it can't compile on mac m1 pro
    
    * resolve merge conflict
    
    * fmt
    
    * clippy
    
    * more clippy fix
    
    * more lint fix
    
    * fmt
    
    * minor syntax fix
    
    * fix ipa multiopen test failure
    
    * fix clippy warning
    
    * fmt
    
    * fix par scan of log_inv diff
    
    * remove uncessary clone
    
    ---------
    
    Co-authored-by: alannotnerd <[email protected]>
    Co-authored-by: kunxian xia <[email protected]>
    Co-authored-by: Steven <[email protected]>
    Co-authored-by: Carlos Pérez <[email protected]>
    Co-authored-by: zhenfei <[email protected]>
    Co-authored-by: Ho <[email protected]>
    Co-authored-by: naure <[email protected]>
    Co-authored-by: Aurélien Nicolas <[email protected]>
    Co-authored-by: Sphere L <[email protected]>
    Co-authored-by: Andrija <[email protected]>
    Co-authored-by: ying tong <[email protected]>
    Co-authored-by: therealyingtong <[email protected]>
    13 people authored Jan 9, 2024
    Configuration menu
    Copy the full SHA
    b837de6 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

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