Skip to content

Verification (started to) always fails after transpiler update #78

@color-typea

Description

@color-typea

There seems to have been a recent update to circuit_params.json produced by the transpiler (added commitment_params_node and moved some attributes inside it - e.g. lambda and D_omegas)

Steps to reproduce:
Using repo with end-to-end circuit lifecycle: https://github.com/color-typea/zkllvm-playground

Difference in CircuitParams.sol before and after change: color-typea/zkllvm-playground#1

Before the change: first 2 tests (correct proofs) pass as expected, second 2 tests (incorrect proofs) fail (this is a known separate issue)
After the change: first 2 tests (correct proofs) fail, second 2 tests (incorrect proofs) pass - this essentially means it rejects even correct proofs.

How to run tests:

  • make test should do everything. Note it includes producing "new" CircuitParams.sol, so you'll end up in the "after the change" state
  • To go to "before the change", the old CircuitParams.sol is available at zkllvm-playground

Toolchain versions:

  • Compiler: clang version 16.0.0 ([email protected]:NilFoundation/zkllvm-circifier.git 9470dd7ed89d89edfd596c397b8c7c37b0dce2a0)
  • Assigner: 0.1.2-12 (built from source @ 9482a3f01e1138a69ff5d096b9ff7e811b59cf0b)
  • Transpiler: 0.1.2-12 (built from source @ 9482a3f01e1138a69ff5d096b9ff7e811b59cf0b)
  • evm-placeholder-verification: 1.1.1

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions