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

Rollback to pse halo2 and halo2wrong for first release #5

Merged
merged 38 commits into from
Oct 24, 2022
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6b7c646
feat: move `Accumulator` to `accumulator.rs`
han0110 Jul 24, 2022
cd290ea
feat: update due to halo2
han0110 Aug 15, 2022
2af52eb
feat: upgrade to use branch `feature/generic-instructions` of `halo2w…
han0110 Jul 26, 2022
7783eaa
refactor: rollback to `{halo2,halo2_wrong}` without challenge API and…
han0110 Aug 18, 2022
f0789a8
chore: rename statement to instance and auxliary to witness
han0110 Aug 26, 2022
77125a8
chore: use `finalize` instead of `code`
han0110 Aug 26, 2022
07c50b6
feat: add `Code::deployment` and `EvmLoader::deployment_code`; add ex…
han0110 Aug 26, 2022
d7809ff
fix: typo
han0110 Aug 27, 2022
4f4d39c
feat: reduce generated evm verifier size; rename to `evm-verifier` an…
han0110 Aug 27, 2022
78ddd66
fix: due to `halo2wrong`
han0110 Aug 31, 2022
d4485da
feat: reorganize mods and traits
han0110 Sep 3, 2022
8322f0a
fix: allow empty `values` in `sum_*` and move them under `ScalarLoader`
han0110 Sep 7, 2022
8cd0e99
ci: use `--all-features` for `cargo test`
han0110 Sep 7, 2022
b77f581
fix: use same strategy for aggregation testing
han0110 Sep 7, 2022
d4471dc
fix: simplify trait `PlonkVerifier` again
han0110 Sep 7, 2022
8ddbae8
fix: move system specified transcript under mod `system`
han0110 Sep 8, 2022
62361bf
feat: add `quotient_poly` info in `Protocol`
han0110 Sep 8, 2022
9726ad8
feat: implement linearization for circom integration
han0110 Sep 9, 2022
6335e01
feat: re-export loader's dependency for consumer
han0110 Sep 9, 2022
73bac0c
refactor: for circom's integration
han0110 Sep 10, 2022
c363047
tmp: pin `revm` to rev
han0110 Sep 10, 2022
1d4c518
fix: remove parentheses
han0110 Sep 11, 2022
e15510c
fix: upgrade for multi-phase halo2
han0110 Sep 12, 2022
b23b22a
feat: improve error reporting
han0110 Sep 14, 2022
f225466
chore: rename crate to snake case
han0110 Sep 17, 2022
37cf4ee
feat: add `Domain` as an input of `PolynomialCommitmentScheme::read_p…
han0110 Sep 18, 2022
73960fd
refactor: for further integration
han0110 Sep 19, 2022
19e5c32
feat: generalize to suppoer also ipa and add builder fns to `system::…
han0110 Sep 20, 2022
a3a0201
feat: add `KzgDecider` for simple evm verifier
han0110 Sep 20, 2022
23be32a
refactor: split `AccumulationScheme` and `AccumulatorEncoding`
han0110 Sep 22, 2022
c548fe3
refactor: split `PolynomialCommitmentScheme` and `MultiOpenScheme`
han0110 Sep 24, 2022
0763f89
fix: not need sealed actually
han0110 Sep 25, 2022
be42603
fix: `chunk_size` should be `LIMBS` when recovering accumulator
han0110 Sep 29, 2022
7b96201
feat: add `Expression::DistributePowers` to avoid stack overflow
han0110 Sep 29, 2022
f42c7c5
fix: update and pin foundry
han0110 Oct 3, 2022
6872dab
fix: move testing circuits under `system/halo2`
han0110 Oct 19, 2022
5a5a647
fix: allow accumulate single accumulator
han0110 Oct 22, 2022
b1fa318
feat: remove all patch and make less depending `halo2wrong`
han0110 Oct 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
cache-on-failure: true

- name: Run test
run: cargo test --all --features test -- --nocapture
run: cargo test --all --all-features -- --nocapture


lint:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
.DS_Store

/target
fixture
testdata

Cargo.lock
60 changes: 30 additions & 30 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
[package]
name = "plonk-verifier"
name = "plonk_verifier"
version = "0.1.0"
edition = "2021"

[dependencies]
ff = "0.12.0"
group = "0.12.0"
itertools = "0.10.3"
lazy_static = "1.4.0"
num-bigint = "0.4"
Expand All @@ -14,44 +12,46 @@ rand = "0.8"
rand_chacha = "0.3.1"
halo2_curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.2.1", package = "halo2curves" }

# halo2
blake2b_simd = { version = "1.0.0", optional = true }
halo2_proofs = { version = "0.2.0", optional = true }
halo2_wrong = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", package = "halo2wrong", optional = true }
halo2_wrong_ecc = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", package = "ecc", optional = true }
halo2_wrong_maingate = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", package = "maingate", optional = true }
halo2_wrong_transcript = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", package = "transcript", optional = true }
poseidon = { git = "https://github.com/privacy-scaling-explorations/poseidon", branch = "padding", optional = true }
# system_halo2
halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2", tag = "v2022_09_10", optional = true }

# evm
# loader_evm
ethereum_types = { package = "ethereum-types", version = "0.13.1", default-features = false, features = ["std"], optional = true }
foundry_evm = { git = "https://github.com/foundry-rs/foundry", package = "foundry-evm", rev = "93ee742d", optional = true }
crossterm = { version = "0.22.1", optional = true }
tui = { version = "0.16.0", default-features = false, features = ["crossterm"], optional = true }
sha3 = { version = "0.10.1", optional = true }

# loader_halo2
halo2_wrong_ecc = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", tag = "v2022_09_09", package = "ecc", optional = true }
halo2_wrong_transcript = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", tag = "v2022_09_09", package = "transcript", optional = true }
poseidon = { git = "https://github.com/privacy-scaling-explorations/poseidon", branch = "padding", optional = true }

[dev-dependencies]
paste = "1.0.7"

# system_halo2
halo2_wrong_ecc = { git = "https://github.com/privacy-scaling-explorations/halo2wrong", tag = "v2022_09_09", package = "ecc" }

# loader_evm
foundry_evm = { git = "https://github.com/foundry-rs/foundry", package = "foundry-evm", rev = "6b1ee60e" }
crossterm = { version = "0.22.1" }
tui = { version = "0.16.0", default-features = false, features = ["crossterm"] }

[features]
default = ["halo2", "evm"]
test = ["halo2", "evm"]
default = ["loader_evm", "loader_halo2", "system_halo2"]

loader_evm = ["dep:ethereum_types", "dep:sha3"]
loader_halo2 = ["dep:halo2_proofs", "dep:halo2_wrong_ecc", "dep:halo2_wrong_transcript", "dep:poseidon"]

halo2 = ["dep:blake2b_simd", "dep:halo2_proofs", "dep:halo2_wrong", "dep:halo2_wrong_ecc", "dep:halo2_wrong_maingate", "dep:halo2_wrong_transcript", "dep:poseidon"]
evm = ["dep:foundry_evm", "dep:crossterm", "dep:tui", "dep:ethereum_types", "dep:sha3"]
sanity-check = []
system_halo2 = ["dep:halo2_proofs"]

[patch.crates-io]
halo2_proofs = { git = "https://github.com/han0110/halo2", branch = "experiment", package = "halo2_proofs" }
sanity_check = []

[patch."https://github.com/privacy-scaling-explorations/halo2"]
halo2_proofs = { git = "https://github.com/han0110/halo2", branch = "experiment", package = "halo2_proofs" }
halo2_proofs = { git = "https://github.com/han0110/halo2", branch = "feature/configurable-instance-query", package = "halo2_proofs" }

[patch."https://github.com/privacy-scaling-explorations/halo2curves"]
halo2_curves = { git = "https://github.com//privacy-scaling-explorations/halo2curves", tag = "0.2.1", package = "halo2curves" }
[[example]]
name = "evm-verifier"
required-features = ["loader_evm", "system_halo2"]

[patch."https://github.com/privacy-scaling-explorations/halo2wrong"]
halo2_wrong = { git = "https://github.com/han0110/halo2wrong", branch = "feature/range-chip-with-tagged-table", package = "halo2wrong" }
halo2_wrong_ecc = { git = "https://github.com/han0110/halo2wrong", branch = "feature/range-chip-with-tagged-table", package = "ecc" }
halo2_wrong_maingate = { git = "https://github.com/han0110/halo2wrong", branch = "feature/range-chip-with-tagged-table", package = "maingate" }
halo2_wrong_transcript = { git = "https://github.com/han0110/halo2wrong", branch = "feature/range-chip-with-tagged-table", package = "transcript" }
[[example]]
name = "evm-verifier-with-accumulator"
required-features = ["loader_halo2", "loader_evm", "system_halo2"]
Loading