diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 9769e5c..b20bb66 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -10,6 +10,9 @@ jobs: test: name: Benchmark library runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write steps: - name: Checkout sources uses: actions/checkout@v4 @@ -17,12 +20,12 @@ jobs: - name: Install Nargo uses: noir-lang/noirup@v0.1.4 with: - toolchain: nightly-2025-08-15 + toolchain: 1.0.0-beta.12 - name: Install bb run: | curl -L https://bbup.aztec.network | bash - ~/.bb/bbup -nv 1.0.0-beta.9 + ~/.bb/bbup -nv 1.0.0-beta.12 sudo apt install libc++-dev - name: Build Noir benchmark programs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 455bc51..d7a1108 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: env: CARGO_TERM_COLOR: always - MINIMUM_NOIR_VERSION: nightly-2025-08-15 + MINIMUM_NOIR_VERSION: v1.0.0-beta.12 jobs: noir-version-list: diff --git a/src/curve_jac.nr b/src/curve_jac.nr index 8ead1db..19850f8 100644 --- a/src/curve_jac.nr +++ b/src/curve_jac.nr @@ -669,15 +669,15 @@ where ) -> (Self, [AffineTranscript; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3]) { let mut (accumulator, transcript) : (Self, [JTranscript; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3]) = - CurveJ::msm_partial(points, scalars); - let op = accumulator.sub(CurveJ::offset_generator_final()); - transcript[73 * Size + 252] = op.1; - accumulator = op.0; - let affine_transcript: [AffineTranscript; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3] = - AffineTranscript::from_jacobian_transcript(transcript); + CurveJ::msm_partial(points, scalars); + let op = accumulator.sub(CurveJ::offset_generator_final()); + transcript[73 * Size + 252] = op.1; + accumulator = op.0; + let affine_transcript: [AffineTranscript; NScalarSlices * Size + NScalarSlices * 4 + Size * 9 - 3] = + AffineTranscript::from_jacobian_transcript(transcript); - (accumulator, affine_transcript) - } + (accumulator, affine_transcript) + } pub(crate) unconstrained fn compute_linear_expression_transcript( mut mul_points: [Curve; NMuls], @@ -695,21 +695,21 @@ where let mut (accumulator, transcript) : (Self, [JTranscript; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3]) = - CurveJ::msm_partial(mul_j, scalars); - let mut transcript_ptr: u32 = NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 - 4; - for i in 0..NAdds { - let op = accumulator.conditional_incomplete_add(add_j[i], !add_j[i].is_infinity); - transcript[transcript_ptr] = op.1; - accumulator = op.0; - transcript_ptr += 1; - } - - let op = accumulator.sub(CurveJ::offset_generator_final()); + CurveJ::msm_partial(mul_j, scalars); + let mut transcript_ptr: u32 = NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 - 4; + for i in 0..NAdds { + let op = accumulator.conditional_incomplete_add(add_j[i], !add_j[i].is_infinity); transcript[transcript_ptr] = op.1; accumulator = op.0; - let affine_transcript: [AffineTranscript; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3] = - AffineTranscript::from_jacobian_transcript(transcript); - - (accumulator, affine_transcript) + transcript_ptr += 1; } + + let op = accumulator.sub(CurveJ::offset_generator_final()); + transcript[transcript_ptr] = op.1; + accumulator = op.0; + let affine_transcript: [AffineTranscript; NScalarSlices * NMuls + NScalarSlices * 4 + NMuls * 9 + NAdds - 3] = + AffineTranscript::from_jacobian_transcript(transcript); + + (accumulator, affine_transcript) + } }