Open mperafan opened 1 year ago
Hi, seems your go.mod
is pointing to an incorrect gnark-crypto
version. Can you run go mod tidy
and possibly update the gnark-crypto dependency to the most recent one?
Hi, seems your
go.mod
is pointing to an incorrectgnark-crypto
version. Can you rungo mod tidy
and possibly update the gnark-crypto dependency to the most recent one?
Hi, I tried running gnark v0.8.1 with gnark-crypto v0.11.2 and I had the same error.
I ran it with gnark-crypto v0.10.1 and now it has a problem with fft.Option:
github.com/consensys/gnark/internal/backend/bls12-381/groth16 /home/kianoush/go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT /home/kianoush/go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT /home/kianoush/go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT /home/kianoush/go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
This error is for almost every curve.
hello! im starting in the world of gnark and zk-snarks proofs, and i copy a code to start and learn, but i get an error, and im already download all the dependencies, or i think so. this is the error im getting:
github.com/consensys/gnark/internal/backend/bls12-381/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls24-315/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls12-377/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bn254/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls24-317/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bw6-633/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bw6-761/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse machibusa@machibusapc:~/merkle_tree_example$ go run main.go
github.com/consensys/gnark/internal/backend/bls24-315/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-315/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls12-381/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-381/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bw6-633/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-633/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bw6-761/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bw6-761/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls24-317/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls24-317/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bls12-377/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bls12-377/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
github.com/consensys/gnark/internal/backend/bn254/groth16
../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:55:25: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:78:26: undefined: pedersen.Key ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/setup.go:258:27: assignment mismatch: 2 variables but pedersen.Setup returns 3 values ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:337:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:338:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:339:25: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFT ../go/pkg/mod/github.com/consensys/gnark@v0.8.1/internal/backend/bn254/groth16/prove.go:357:32: cannot use true (untyped bool constant) as fft.Option value in argument to domain.FFTInverse
and this is the code:
package main
import ( "fmt"
)
// CubicCircuit defines a simple circuit // x**3 + x + 5 == y type CubicCircuit struct { // struct tags on a variable is optional // default uses variable name and secret visibility. X frontend.Variable
gnark:"x"
Y frontend.Variablegnark:",public"
}// Define declares the circuit constraints // x*3 + x + 5 == y func (circuit CubicCircuit) Define(api frontend.API) error { x3 := api.Mul(circuit.X, circuit.X, circuit.X) api.AssertIsEqual(circuit.Y, api.Add(x3, circuit.X, 5)) return nil }
func main() { // compiles our circuit into a R1CS var circuit CubicCircuit ccs, _ := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit)
}