gnark-plonky2-verifier/field/field.go
field/field.goRaw
1package field
2
3import (
4 "github.com/consensys/gnark-crypto/ecc"
5 "github.com/consensys/gnark/frontend"
6 "github.com/consensys/gnark/std/math/emulated"
7)
8
9type EmulatedField = emulated.Goldilocks
10type F = emulated.Element[EmulatedField]
11type QuadraticExtension = [2]F
12type Hash = [4]F
13
14var TEST_CURVE = ecc.BN254
15
16func NewFieldElement(x uint64) F {
17 return emulated.NewElement[EmulatedField](x)
18}
19
20func NewFieldElementFromString(x string) F {
21 return emulated.NewElement[EmulatedField](x)
22}
23
24func NewFieldAPI(api frontend.API) frontend.API {
25 field, err := emulated.NewField[EmulatedField](api)
26 if err != nil {
27 panic(err)
28 }
29 return field
30}