Skip to content

Commit 35c8724

Browse files
committed
mv 1.0.0, add deps
1 parent e1f1c9c commit 35c8724

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
toolchain: [nightly, 0.37.0]
19+
toolchain: [nightly, 1.0.0-beta.0]
2020
steps:
2121
- name: Checkout sources
2222
uses: actions/checkout@v4
@@ -40,7 +40,7 @@ jobs:
4040
- name: Install Nargo
4141
uses: noir-lang/[email protected]
4242
with:
43-
toolchain: 0.37.0
43+
toolchain: 1.0.0-beta.0
4444

4545
- name: Run formatter
4646
run: nargo fmt --check

Nargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "noir_bigcurve"
33
type = "lib"
44
authors = [""]
5-
compiler_version = ">=0.37.0"
5+
compiler_version = ">=1.0.0"
66

77
[dependencies]
88
bignum = {tag = "v0.4.2", git = "https://github.com/noir-lang/noir-bignum"}

README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,18 @@ noir_bigcurve uses the [noir-bignum](https://github.com/zac-williamson/noir-bign
66

77
This library is a work in progress and likely full of bugs!
88

9-
# Overview
9+
## Overview
1010

1111
`noir_bigcurve` make use of `noir-bignum` to optimally evaluate group operations using a minimal number of modular reductions. Runtime lookup tables are also used to reduce the number of group operations required when evaluating scalar multiplications
1212

13-
# Usage
13+
## Dependencies
14+
15+
- Noir >=1.0.0
16+
- Barretenberg >=v0.56.1
17+
18+
Refer to [Noir's docs](https://noir-lang.org/docs/getting_started/quick_start) and [Barretenberg's docs](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/cpp/src/barretenberg/bb/readme.md) for installation steps.
19+
20+
## Usage
1421

1522
See `bigcurve_test.nr` for some ways in which the library can be used.
1623

@@ -20,7 +27,7 @@ Complete elliptic curve operations can be evalauted using `BigCurve::add`, `BigC
2027

2128
The most efficient method to evaluate curve operations is `BigCurve::evaluate_linear_expression` (TODO: Brillig bug means this method does not currently work!)
2229

23-
# Future work
30+
## Future work
2431

2532
- When performing MSMs, utilize the Montgomery Ladder to minimize the number of field operations (see `batch_mul` in `barretenberg/src/stdlib/biggroup` for example implementation)
2633
- `ScalarField` is not properly constrained when constructed from a `BigNum` object
@@ -32,7 +39,7 @@ The most efficient method to evaluate curve operations is `BigCurve::evaluate_li
3239
- Create benchmarks
3340
- Add support for curve endomorphisms where applicable (if base field and scalar field both contain cube roots of unity, we can reduce the number of point doublings required for an MSM in half)
3441

35-
# FAQ
42+
## FAQ
3643

3744
Q: What's up with the Jacobian points and the transcript objects?
3845
A: To minimize witness generation time (currently the bottleneck due to Brillig VM) we evaluate ECC operations over Jacobian coordinates in an unconstrained function, in order to efficiently batch-compute the modular inverses required to constrain ECC operations over Affine coordinates (which is more constraint-efficient)

0 commit comments

Comments
 (0)