forked from privacy-scaling-explorations/snark-verifier
-
Notifications
You must be signed in to change notification settings - Fork 36
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 v0.1.7 #42
Merged
Merged
Release v0.1.7 #42
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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`
* 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
* 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`
* 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]>
* 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`)
…support identity)
Co-authored-by: Chih Cheng Liang <[email protected]> Co-authored-by: Carlos Pérez <[email protected]>
Add simple documents
* 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
* chore: sync with halo2-lib * fix: clippy
feat: change yul code into Solidity assembly Just changes to wrapping yul in solidity assembly block
and `snark-verifier-sdk` re-exports `snark-verifier`. This is to minimize cargo dependency / version issues until we publish to crates.io.
* feat: make assembly block Solidity memory safe * chore: add back example solidity code
* chore: add `cargo audit` and update dependencies disabling zkevm benches due to versioning issues * chore: autobenches false * fix: audit-check CI
chore: fix hyperlinks in docs
* 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
force-pushed
the
release-0.1.7-rc
branch
2 times, most recently
from
November 4, 2023 01:09
9a80ef6
to
c7d7a8f
Compare
* chore: try pragma solidity 0.8.20 with CI * chore: make `transcript_initial_state` public So we can read transcript initial state from `VerifyingKey` * test: edit range_check example to trigger selector compression * [feat] add `aggregate_snarks` function (#34) * feat: add `aggregate_snarks` function - Previously you could only create a new `builder` pre-populated with the witnesses for snark aggregation. - This is a bad design pattern if you want to make a circuit that aggregates and also does other stuff. - This function will use whatever `SinglePhaseCoreManager` and `RangeChip` you provide to prove the snark aggregation. * chore: add comment * chore: fix comment * [feat(sdk)] `aggregate_snarks` returns loaded proof witnesses (#36) * feat(sdk): `aggregate_snarks` returns loaded proof witnesses * feat: add `TranscriptObject` to track assigned proof transcript * chore: Bump version to 0.1.7
jonathanpwang
force-pushed
the
release-0.1.7-rc
branch
from
November 4, 2023 01:11
c7d7a8f
to
18a1dd5
Compare
jonathanpwang
force-pushed
the
release-0.1.7-rc
branch
2 times, most recently
from
November 11, 2023 03:37
273b3a7
to
a9310f6
Compare
* chore: update `gen_dummy_snark` with circuit-params * chore: better doc comment * chore: remove dbg * feat: refactor into `gen_dummy_snark_from_vk` This function does not need to know the `ConcreteCircuit` type * feat: add `KeygenAggregationCircuitIntent` for keygen Trait to help keygen of aggregation circuits. * chore: fix clippy * chore: rename function * chore: add `AggregationDependencyIntentOwned` * chore: From impl * chore: add `gen_dummy_snark_from_protocol` Also added `NativeKzgAccumulationScheme` trait * chore: remove redundancy
…ndices` (#49) fix: `AggregationDependencyIntent` includes `accumulator_indices`
if it is for a universal aggregation circuit
Turns off halo2-pse for crates.io release
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note on commit history: #37 was merged first into this branch at c7d7a8f, then some changes were made to
release-0.1.6-rc0
, so I rebasedrelease-0.1.6-rc0
onto this branch and force pushed.Utilities to generate dummy snarks to help with proving key generation of aggregation circuits:
gen_dummy_snark
to help with keygen #48AggregationDependencyIntent
should include fullaccumulator_indices
#49Merge after: