Commit Graph

56 Commits

Author SHA1 Message Date
Jack Grigg 1d9790b2ce Migrate to published `ff 0.13` 2022-12-06 04:55:21 +00:00
Jack Grigg cb819e47e9 Migrate to `ff` revision without `FieldExt` 2022-11-30 19:35:26 +00:00
Jack Grigg 5202ec6eda Integrate `halo2_gadgets` into the workspace
THe SHA-256 example gadget has been moved into the `halo2_gadgets` crate
behind an `unstable` feature flag.
2022-01-27 23:32:04 +00:00
Jack Grigg f79ec5cadd Recreate `halo2` as an empty library crate
This is now where the recursion logic will live.

Closes zcash/halo2#462.
2022-01-20 18:50:43 +00:00
Jack Grigg 3c6558f049 Move `halo2` code into `halo2_proofs` crate 2022-01-20 18:50:43 +00:00
Jack Grigg 9e63eeff1b Enable `getrandom/js` feature flag for wasm32-unknown-unknown
Our dev-dependencies include getrandom, and the wasm32-unknown-unknown
target requires this getrandom feature flag in order to compile.
2022-01-20 17:42:15 +00:00
Jack Grigg 66a6537613 Pin bumpalo to `>=3,<3.9.0` for wasm32 targets
`bumpalo 3.9.0` raised its MSRV to 1.54; our current MSRV is 1.51.
2022-01-20 17:42:15 +00:00
Jack Grigg f5a8c9dff9 Depend on `rand_core` instead of `rand`
All non-test code no longer depends on `OsRng`, instead requiring the
caller to provide it.
2022-01-20 16:27:35 +00:00
Jack Grigg deabd62eee Migrate to pasta_curves 0.3 and blake2b_simd 1 2022-01-05 02:45:51 +00:00
Jack Grigg 55364f0d99 CI: Fix benchmark collection
The benchmark action's "cargo" tooling assumes the standard bencher
output format, and can't parse criterion's output. Fortunately,
criterion can also provide bencher output for compatibility.

In order to pass criterion flags via `cargo bench`, we need to ensure
that all benchmarks use it (otherwise the flags are rejected by the
built-in benchmark harness as unknown). Since we don't actually have any
benchmarks inside the library itself, we simply disable its benchmark
harness.
2021-12-08 22:25:40 +00:00
Jack Grigg d055acda31 Augment `Error::NotEnoughRowsAvailable` with current and min-required k
This makes the error message more useful, by informing the user of a
possible solution.
2021-11-15 21:44:51 +00:00
Jack Grigg ca0f04dcb9 Add [BETA] to the crate description
Just so people see it when searching crates.io for halo2.
2021-09-24 17:08:46 +01:00
Jack Grigg 2c2349b576 Change crate license-file property to point at COPYING 2021-09-24 17:03:29 +01:00
Jack Grigg 7ca1933156 halo2 0.1.0-beta.1
This is the beta version of `halo2` used on testnet in zcashd v4.5.0.
2021-09-24 17:00:13 +01:00
Jack Grigg 78f0e21563 Require pasta_curves 0.2.1
This is the first version that was relicensed as MIT OR Apache-2.0.
2021-09-22 19:59:04 +01:00
Jack Grigg 81622bf847 ff 0.11, group 0.11, pasta_curves 0.2 2021-09-02 23:05:18 +01:00
Sean Bowe 2a253b89b0
Refactor the selector optimization pass so it can be independently proptested. 2021-07-24 16:35:45 -06:00
Daira Hopwood f64b54156a Use global rayon threadpool.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-07-03 15:17:03 +01:00
Jack Grigg c86b24f496 pasta_curves 0.1 2021-06-02 00:03:50 +01:00
Jack Grigg f53ab478f6 examples: Add cost model for estimating proof sizes 2021-05-18 13:54:05 +01:00
Steven dda60a3630
Merge pull request #244 from steven-ecc/change-tgppl-to-bosl
Change TGPPL references to BOSL
2021-04-26 16:44:40 -07:00
Steven 7593ca66f0
Update Cargo.toml
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-04-26 16:44:32 -07:00
Jack Grigg da6abf40de Migrate to pasta_curves with Coordinates struct 2021-04-20 09:29:02 +12:00
Steven Smith bd39b5040e Changing TGPPL references to BOSL 2021-04-16 08:33:10 -07:00
str4d b079624ea7
Merge pull request #228 from zcash/pasta_curves-crate
Migrate to the pasta_curves crate
2021-03-07 08:42:44 +13:00
str4d eb97241e47
Merge pull request #229 from zcash/remove-metrics
Remove metrics crate and inline modelling
2021-03-05 11:52:47 +13:00
Jack Grigg 3a85f2269f Pin a specific pasta_curves revision 2021-03-04 22:45:11 +00:00
Jack Grigg a130edaade Remove metrics crate and inline modelling
It is causing problems in (some) downstream crates, and we won't want
these annotations in the codebase anyway if a downstream crate is
collecting metrics. We'll be replacing this with the cost model binary
in https://github.com/zcash/halo2/pull/225 shortly.
2021-03-03 23:13:34 +00:00
Jack Grigg 7774dd8235 Migrate to the pasta_curves crate 2021-03-03 18:48:45 +00:00
honeywest af84f60946 fix cargo repository error 2021-02-26 18:23:55 +08:00
Jack Grigg b4ed5295fe Migrate to group traits
The `Curve` trait is now `CurveExt: group::prime::PrimeCurve`, and
`CurveAffine` is now `CurveAffine: group::prime::PrimeCurveAffine`.

There is no `CurveAffine` trait in `group`, and it's a widely-used
trait in this crate, so we don't rename it to `CurveAffineExt`.
2021-02-22 20:20:23 +00:00
Daira Hopwood 704a6c3637 Remove unneeded sha3 dependency.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-21 00:45:33 +00:00
Sean Bowe c48229ce0f Remove dependency on byteorder crate 2021-02-19 15:52:11 +00:00
Daira Hopwood fa3afc29bb Add an implementation of simplified SWU hash-to-curve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-19 15:52:11 +00:00
Jack Grigg 776016fe53 crossbeam-utils 0.8 2021-02-17 20:43:36 +00:00
Jack Grigg 0c4f779993 ff 0.9 2021-02-17 20:42:27 +00:00
Jack Grigg 2c77eccf01 metrics 0.14.2 2021-02-17 20:40:12 +00:00
Sean Bowe 4747112118
Downgrade to funty 1.1.0 to fix CI. 2021-02-14 09:24:15 -07:00
Jack Grigg 3c1132ec59 Add halo2::dev::circuit_layout behind dev-graph feature flag
This method renders circuits as tables, showing how the various regions
within them have been layed out.
2021-02-01 18:38:20 +00:00
Jack Grigg 7dd6e65a5f Add halo2::dev::circuit_dot_graph behind dev-graph feature flag
This method renders circuits as dot graphs, to help circuit developers
understand their structure.
2021-02-01 18:38:16 +00:00
Jack Grigg bf771a7446 Add namespacing and gadget name collection to Layouter 2021-02-01 18:38:04 +00:00
Daira Hopwood e13ee2c8ff Add sqrt_ratio implementation.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-14 02:34:43 +00:00
Sean Bowe dff5a3a692
Generate the URS using a homebrew mixture of blake2b and try-and-increment. 2021-01-06 10:45:11 -07:00
Jack Grigg c8e6fd9dfd Pin all metrics crate dependencies
We depend on the alpha version, where breaking changes are occurring
regularly. However, the metrics crate does not pin exact versions of
its dependencies, which can break our CI if a new alpha dependency is
released with breaking changes. Fortunately the metrics crate only has
a single metrics-* dependency, so we can just pin that as well.
2020-12-22 12:28:31 +00:00
Jack Grigg 8389389d37 model: metrics 0.13.0-alpha.13 2020-12-22 12:27:36 +00:00
therealyingtong 39df4954b5 Add Committed::construct() to lookup::prover 2020-12-03 10:50:20 +08:00
Sean Bowe a5d04725bd
We depend on subtle 2.3 for `Option<T>: From<CtOption<T>>`. 2020-12-02 09:50:43 -07:00
Jack Grigg cdbc41148a Migrate to ff traits
The `Field` trait in this crate is now `FieldExt: ff::PrimeField`.
2020-12-01 20:55:03 +00:00
Jack Grigg e5e6700e10 Pin most recent metrics alpha 2020-11-25 19:56:52 +00:00
Jack Grigg 61cddec3b8 Update crate authors 2020-11-24 18:25:56 +00:00